왜 시간초과가 나오는지 모르겠어용

  • mwopert
    mwopert

    https://algospot.com/judge/problem/read/BRAVE 의 문제입니다.

    제가 여기 처음이라.. 채점 프로그램이 어떻게 돌아가는지 잘 모르겠네요... 밑에는 그 소스입니다.
    보시고, 조언 부탁드립니다. ㅠㅠ

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
    
        int a, b;
        int *dot;
        int *line;
        int i,s=0;
        int *arr;
        int j,c;
        int *ass;
        scanf("%d",&c);
        ass=(int*)malloc(sizeof(int)*c);
    
        for(int n=0;n<c;n++)
        {
        scanf("%d", &a);
        scanf("%d", &b);
    
        dot=(int*)malloc(sizeof(int)*a);
        arr=(int*)malloc(sizeof(int)*a);
        line=(int*)malloc(sizeof(int)*(b*2));
    
        for(i=0;i<b*2;i++)
            scanf("%d",&line[i]);
    
        for(i=0; i<a; i++)
            dot[i]=i+1;
    
        for(i=0;i<a;i++){
            for(j=0;j<b*2;j++){
                if(dot[i]==line[j]){
                    s++;
                }
            }
            arr[i]=s;
            s=0;
        }
        for(i=0;i<a-1;i++){
            for(j=0;j<a-1-i;j++){
                if(arr[j]>arr[j+1]){
                    s=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=s;
                }
            }
        }
    
        ass[n]=arr[a-1]+1;
        }
    
        for(i=0;i<c;i++){
        printf("%d\n",ass[i]);
        }
    
        free(ass);
        free(dot);
        free(arr);
        free(line);
    
        return 0;
    
    }
    

    9년 전
3개의 댓글이 있습니다.
  • Being
    Being

    제출하신 코드가 느려서 시간 초과가 발생하는 것이 맞는 것 같습니다.


    9년 전 link
  • mwopert
    mwopert

    아... 네 감사합니다 ㅠㅠ


    9년 전 link
  • Being
    Being

    덧붙이자면 시간제한이 10배로 늘어나더라도 시간 안에 동작하지 않을 것 같습니다.


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