NON ZERO RETURN으로 인한 RTE

  • nanosecond
    nanosecond

    NON ZERO RETURN으로 인한 RTE가 발생하는데,
    원인을 모르겠습니다 ㅠㅠ

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    #define MIN -100
    #define MAX  100
    
    int howMany = 0;
    int *arraySize;
    int **array;
    char input[1000];
    char tmp[5];
    
    int num;
    int len;
    int i, j, k, l, cnt;
    
    int sum, maxSum;
    
    int main() {
        scanf("%d", &howMany);
    
        arraySize = (int*)malloc(sizeof(int)*howMany);
        array = (int**)malloc(sizeof(int*)*howMany);
    
        for(i=0; i<howMany; i++) {
            scanf("%d", &arraySize[i]);
            if(arraySize[i]<1 || (10^5)<arraySize[i]) {
                return -1;
            }
            array[i] = (int*)malloc(sizeof(int)*arraySize[i]);
    
            while(getchar() != '\n');
            gets(input);
    
            len = strlen(input);
            k = 0;
            cnt = 0;
            for(j=0; j<len+1; j++) {
                if(input[j]==' ' || input[j]=='\0') {
                    tmp[k] = '\0';
                    k = 0;
                    num = atoi(tmp);
                    if(num<MIN || MAX<num) {
                        return -1;
                    }
                    array[i][cnt] = num;
                    cnt++;
                }
                else {
                    tmp[k] = input[j];
                    k++;
                }
            }
        }
    
        for(i=0; i<howMany; i++) {
            maxSum = 0;
            for(j=0; j<arraySize[i]-1; j++) {
                for(k=j+1; k<arraySize[i]; k++) {
                    sum = 0;
                    for(l=j; l<k+1; l++) {
                        sum += array[i][l];
                    }
                    if(maxSum < sum) {
                        maxSum = sum;
                    }
                }   
            }
            printf("%d\n", maxSum);
        }
    
        free(arraySize);
        for(i=0; i<howMany; i++) {
            free(array[i]);
        }
        free(array);
    
        return 0;
    }
    

    10년 전
3개의 댓글이 있습니다.
  • JongMan
    JongMan

    문제 이름이라도 알려주셔야...


    10년 전 link
  • nanosecond
    nanosecond

    아이고ㅠ 문제명을 빠뜨렸네요
    문제명은 튜토리얼의 MAXSUM 입니다.


    10년 전 link
  • Being
    Being

    10^5는 15일 것 같네요.


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