[BOJ]2798-블랙잭

yoon_H·2023년 10월 15일

BOJ

목록 보기
38/110

2798

#include <iostream>
#include <vector>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(NULL);

    int N, M;

    cin >> N >> M;
    
    vector<int> v;
    for (int i = 0; i < N; i++)
    {
        int tmp;
        cin >> tmp;
        v.push_back(tmp);
    }

    int res = -1;
    for (int i = 0; i < N; i++)
    {
        int A = v[i];
        for (int j = i+1; j < N; j++)
        {
            int B = v[j];
            for (int k = j + 1; k < N; k++)
            {
                int C = v[k];

                int tmp2 = A + B + C;

                if (tmp2 == M)
                {
                    res = M;
                    break;
                }
                else if (tmp2 < M)
                {
                    if (res < tmp2)
                    {
                        res = tmp2;
                    }
                }

            }

            if (res == M)
            {
                break;
            }
        }

        if (res == M)
        {
            break;
        }
    }

    cout << res;
}

예전에 풀었던 문제.
break를 적절하지 않게 써서 틀렸다.
과거의 나는 return을 써서 풀었는데, 말랑말랑 두뇌교실이었구만..

0개의 댓글