Zeroone 문제 시간초과 질문이요

  • 김경호
    김경호

    시간 초과가 뜨는데요...
    어느 부분을 고쳐야 시간을 줄일 수 있을지 고민해도 잘 모르겠어서 이렇게 질문드립니다. 아직 초보라서 도움을 주셨으면 합니다.

    //0-1 수열
    #include<stdio.h>
    
    int main()
    {
        int test_case,i,j,k,flag=1;
        char arr[1000001];
        scanf("%s%d",arr,&test_case);
        for(; test_case>=1; --test_case)
        {
            scanf("%d%d",&i,&j);
            if(i==j)
            {
                printf("Yes\n");
                continue;
            }
            else if(i>j)
            {
                k=j;
                j=i;
            }
            else
                k=i;
            while(k<=j)
            {
                if(arr[k]!=arr[k+1])
                {
                    flag=0;
                    break;
                }
                k++;
            }
            if(flag)
                printf("Yes\n");
            else
                printf("No\n");
        }
        return 0;
    }
    

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