런타임 에러가 뜨네요 ㅜㅜ 왜 그런지 알려주세요

  • donghee
    donghee

    #include

    using namespace std;

    int fac(int p)
    {
    if(p < 1)
    return 0;
    if(p == 1)
    return 1;

    return p+fac(p-1);

    };

    int power_two(int p)
    {
    int rst = 1;
    if(p == 0)
    return rst;
    for(int w=0 ; w<p ; w++)
    {
    rst *= 2;
    }
    return rst;
    };

    int main()
    {
    int C;
    int n[50];
    int num[50][2500];
    int sum[50][1000];
    int result[50];
    int path;
    int cnt;
    int cnt2;
    int pnt;
    int judge[1000][49];
    int tmp;

    cin >> C;
    
    for(int i=0 ; i<C ; i++)
    {
        cin >> n[i];
        for(int j=0 ; j< fac(n[i]) ; j++)
        {
            cin >> num[i][j];
        }
        cnt = 0;
        path = power_two(n[i]);
    
        for(int j=0 ; j<path ; j++)
        {
    
            pnt = 0;
            cnt2 = cnt;
            sum[i][j]= num[i][0];
            for(int k= n[i]-2 ; k > -1 ; k--)
            {
                tmp = power_two(k);
                judge[j][k] = cnt2 / tmp;
                cnt2 = cnt2 % tmp;
            }
    
            for(int k=0 ; k < n[i]-1 ; k++)
            {
                if(judge[j][k] == 0)
                {
                    pnt += k+1;
                }
                else
                {
                    pnt += k+2;
                }
                sum[i][j] += num[i][pnt];
            }
            cnt++;
        }
    
        result[i] = sum[i][0];
    
        for(int j=1 ; j<path ; j++)
        {
            if(result[i] < sum[i][j])
                result[i] = sum[i][j];
        }
    }
    
    for(int i=0 ; i<C ; i++)
    {
        cout << result[i] << endl;
    }
    
    return 0;

    }


    11년 전
1개의 댓글이 있습니다.
  • JongMan
    JongMan

    알고스팟에 질문을 할 때 주의할 점을 우선 참조해 주세요. ㅜㅜ


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