CONCERT 오답이 왜나는지 모르겠네요..

  • Jnag
    Jnag

    int T, N, VS, VM;
    int V[50] = { 0, };

    int main(){
    cin >> T;
    for (int testCase = 0; testCase < T; testCase++){
    cin >> N >> VS >> VM;

    // initialize member
        // @ V[] = volumn array
        // @ D[][1001] = dynamic array
    
        bool isNext = true;
        int D[51][1001] = { { 0, }, };
    
        D[0][VS] = 1;
        for (int i = 0; i < N; i++){
            cin >> V[i];
            if (isNext == true){
                isNext = false;
                for (int j = 0; j < VM + 1; j++){
                    if (D[i][j] == 1){
                        isNext = true;
                        if (j + V[i] <= VM){
                            D[i + 1][j + V[i]] = 1;
                        }
                        if (j - V[i] >= 0){
                            D[i + 1][j - V[i]] = 1;
                        }
                    }
                }
            }
        }
    
        if (isNext == false){
            cout << -1 << endl;
        }
        else if (isNext == true){
            int result = 0;
            for (int i = 0; i < VM + 1; i++){
                if (D[N][i] == 1){
                    result = result < i ? i : result;
                }
            }
            cout << result << endl;
        }
    }
    return 0;

    }

    제가 빠뜨린 조건이 있는지요..?


    9년 전
1개의 댓글이 있습니다.
  • Jnag
    Jnag

    isNext... 제가 만들었는데 제가 이해를 못하고 있었네요 -_-; 크헝... 답변 감사드립니다 ^^


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.