LIS 문제 오답예시를 못찾겠습니다.

  • frood
    frood
    #include <stdio.h>
    #pragma warning (disable:4996)
    
    int main()
    {
        int N, C;
    
        scanf("%d", &C);
        for (int c = 0; c < C; c++) {
            scanf("%d", &N);
            int arr[501] = { 0, };
            for (int n = 0; n < N; n++)
                scanf("%d", &arr[n]);
            int answer=0;
            for (int k = 0; k < N; k++) {
                int j = 0;
                int cache[501] = { 0, };
                cache[0] = arr[k];  
                for (int i = k+1; i < N; i++) {
                    if (cache[j] < arr[i]) {
                        j++;
                        cache[j] = arr[i];
                    }
                    else if (cache[j]>arr[i]) {
                        if (cache[j - 1] < arr[i]) {
                            cache[j] = arr[i];
                        }
                        else if (j == 0)
                            cache[j] = arr[i];
                    }
                }
                if (answer < j) { 
                    answer = j;
                }
            }
        printf("%d\n",answer + 1);
        }   
        return  0;
    }
    

    예시만 500개 정도 입력해봐도 오답예시를 못찾겠어요...
    오답을 만드는 예시가 어떤것인지 알고싶습니다...


    8년 전
2개의 댓글이 있습니다.
  • seico75
    seico75

    1
    10
    1 10 20 3 4 5 6 7 8 9
    정답이 1 3 4 5 6 7 8 9 ==> 8 이겠죠?


    8년 전 link
  • frood
    frood

    이렇게 간단한걸 못찾았네요ㅎㅎ;; 감사합니다


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