weird 질문합니다/

  • say1116
    say1116

    RTE (SIGKILL: program was forcefully killed, probably memory limit exceeded) 이에러가 왜 뜨는지 모르겠습니다..ㅠㅠ

    #include<iostream>
    
    using namespace std;
    
    int main()
    {
    
        int t;
    
        cin >> t;
    
        for (int i = 0; i < t; i++)
        {
    
            int s[10000] = { 0, };
            int m;
            int n = 0;
            int sum = 0;
    
            cin >> m;
    
            for (int i = 1; i < m; i++)
            {
                if (m%i == 0)
                {
                    s[n] = i;
                    n++;
                    sum += i;
                }
            }
    
            int  **c;
    
            if (sum > m)
            {
    
                c=new int*[n+1];
                for (int k = 0; k <= n; k++)
                {
                    c[k] = new int[m+1];
                }
    
                for (int k= 0; k <= n; k++)
                    c[k][0] = 1;
    
                for (int k = 1; k <= m; k++)
                    c[0][k] = 0;
    
                for (int k = 1; k <= n; k++) {
                    for (int l = 1; l <= m; l++){
                        c[k][l] = 0;
    
                        if (l >= s[k - 1]) {
                            if (c[k - 1][l - s[k - 1]] == 1)
                                c[k][l] = 1;
                        }
    
                        if (c[k - 1][l] == 1)
                            c[k][l] = 1;
                    }
                }
    
    
                if (c[n][m] == 0)
                {
                    cout << "weird\n";
                }
                else
                    cout << "not weird\n";
    
            }
            else
                cout << "not weird\n";
    
            for (int k = 0; k <= n; k++)
            {
                delete[] c[k];
            }
    
            delete[] c;
        }
        return 0;
    
    }
    

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