ZEROONE 오답 원인을 모르겠네요.

  • babo
    babo

    ZEROONE 문제를 계속 풀고 있습니다. 그런데 어디에서 오답이 발생하는지를 끝내 모르겠습니다. 예제로 나온 인풋에 대한 아웃풋은 나오는데 어떤 부분이 문제일까요? 고수님의 혜안 부탁드립니다..

    #include <iostream>
    #include <stdio.h>
    using namespace std;
    
    char arN[10000000]; // 처음 "0000011111" 숫자가 들어갈 배열
    bool arR[1000000];  // YES, NO 결과 저장 (true면 YES)
    
    int main(void)
    {
        int S, N;
        scanf("%s", arN);
        scanf("%d", &N);
    
        for(int i = 0; i < N; i++)
        {
            int min_i, max_i, tmp;
            scanf("%d%d", &min_i, &max_i);
    
            if(min_i == max_i)
            {
                arR[i] = true;
                continue;
            }
    
            tmp = min_i;
            min_i = min(min_i, max_i);
            max_i = max(tmp, max_i);
    
            bool bOne = false, bZero = false;
            for(int j = min_i; j <= max_i; j++)
            {
                (arN[j] == '1') ? (bOne = true) : (bZero = true);
                if(bOne == true && bZero == true) break;    // 1과 0이 둘 다 있다면 무조건 최대값과 최소값이 다른 경우이므로 루프를 나옴
            }
            if(bOne != bZero) arR[i] = true;    // 1이 있고 0이 없거나, 1이 없고 0이 있는 경우는 같은 숫자만 있는 경우이므로 YES (나머지는 모두 NO)
        }
    
        for(int i = 0; i < N; i++)
        {
            if(arR[i] == true)
                printf("YES\n");
            else
                printf("NO\n");
        }
    
        return 0;
    }
    

    읽어주셔서 감사합니다.


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

    대소문자?


    8년 전 link
  • babo
    babo

    대소문자로 몇 시간을 보낸 건지.. 저는 바보였네요. 감사합니다.
    근데 오담은 없어졌는데 이제는 시간초과네요ㅠㅠ 아무튼 감사합니다.


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