質問編集履歴
1
自分の書いたコードを追加しました。これでよかったでしょうか?
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -10,8 +10,63 @@ 
     | 
|
| 
       10 
10 
     | 
    
         
             
            下のリンク先のテストケースを見ていただくとわかる通り、ばらばらにACとWAが出ました。
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            ### 該当のソースコード
         
     | 
| 
      
 13 
     | 
    
         
            +
            ```C++
         
     | 
| 
      
 14 
     | 
    
         
            +
            #include <iostream>
         
     | 
| 
      
 15 
     | 
    
         
            +
            using namespace std;
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
            void happiness(int cnt);
         
     | 
| 
      
 18 
     | 
    
         
            +
            int** pHappiness;
         
     | 
| 
      
 19 
     | 
    
         
            +
            int* pGroup;
         
     | 
| 
      
 20 
     | 
    
         
            +
            long long* pHappy;
         
     | 
| 
      
 21 
     | 
    
         
            +
            long long ans;
         
     | 
| 
      
 22 
     | 
    
         
            +
            int N;
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
            void Happiness(int cnt){
         
     | 
| 
      
 25 
     | 
    
         
            +
                int preHappy;
         
     | 
| 
      
 26 
     | 
    
         
            +
                for(int i = 0; i < 3; ++i){
         
     | 
| 
      
 27 
     | 
    
         
            +
                    pGroup[cnt] = i;
         
     | 
| 
      
 28 
     | 
    
         
            +
                    if(cnt == 0)    *pHappy = 0;
         
     | 
| 
      
 29 
     | 
    
         
            +
                    if(i == 0)  preHappy = 0;
         
     | 
| 
      
 30 
     | 
    
         
            +
                    else        *pHappy = *pHappy - preHappy;
         
     | 
| 
      
 31 
     | 
    
         
            +
                    
         
     | 
| 
      
 32 
     | 
    
         
            +
                    for(int j = 0; j < cnt; ++j){
         
     | 
| 
      
 33 
     | 
    
         
            +
                        if(pGroup[j] == pGroup[cnt])	preHappy += pHappiness[j][cnt-1];
         
     | 
| 
      
 34 
     | 
    
         
            +
                    }
         
     | 
| 
      
 35 
     | 
    
         
            +
                    *pHappy += preHappy;
         
     | 
| 
      
 36 
     | 
    
         
            +
                    
         
     | 
| 
      
 37 
     | 
    
         
            +
                    if(cnt < N-1){
         
     | 
| 
      
 38 
     | 
    
         
            +
                        Happiness(cnt+1);
         
     | 
| 
      
 39 
     | 
    
         
            +
                    }else{
         
     | 
| 
      
 40 
     | 
    
         
            +
                        if(ans < *pHappy)	ans = *pHappy;
         
     | 
| 
      
 41 
     | 
    
         
            +
                    }
         
     | 
| 
      
 42 
     | 
    
         
            +
                }
         
     | 
| 
      
 43 
     | 
    
         
            +
                *pHappy -= preHappy;
         
     | 
| 
      
 44 
     | 
    
         
            +
                return;
         
     | 
| 
      
 45 
     | 
    
         
            +
            }
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            int main(void){
         
     | 
| 
      
 48 
     | 
    
         
            +
                cin >> N;
         
     | 
| 
      
 49 
     | 
    
         
            +
                pHappiness = new int*[N-1];
         
     | 
| 
      
 50 
     | 
    
         
            +
                for(int i = 0; i < N-1; ++i){
         
     | 
| 
      
 51 
     | 
    
         
            +
                    pHappiness[i] = new int[N-1];
         
     | 
| 
      
 52 
     | 
    
         
            +
                    //pHappiness[i][j] = Happiness between i and i+j+1
         
     | 
| 
      
 53 
     | 
    
         
            +
                    for(int j = 0; j+i < N-1; ++j) cin >> pHappiness[i][i+j];
         
     | 
| 
      
 54 
     | 
    
         
            +
                }
         
     | 
| 
      
 55 
     | 
    
         
            +
                
         
     | 
| 
      
 56 
     | 
    
         
            +
                int group[N];
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
                pHappy = new long long;
         
     | 
| 
      
 59 
     | 
    
         
            +
                pGroup = group;
         
     | 
| 
      
 60 
     | 
    
         
            +
                ans = -2147483648;
         
     | 
| 
      
 61 
     | 
    
         
            +
                Happiness(0);
         
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
                cout << ans << endl;
         
     | 
| 
      
 64 
     | 
    
         
            +
            }
         
     | 
| 
      
 65 
     | 
    
         
            +
            ```
         
     | 
| 
      
 66 
     | 
    
         
            +
            最終的にこのようなコードで提出しました。
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
       13 
68 
     | 
    
         
             
            https://atcoder.jp/contests/past201912-open/submissions/13699538
         
     | 
| 
       14 
     | 
    
         
            -
            ↑問題のコードのリンクです。 
     | 
| 
      
 69 
     | 
    
         
            +
            ↑問題のコードのリンクです。提出結果もこちらです。
         
     | 
| 
       15 
70 
     | 
    
         | 
| 
       16 
71 
     | 
    
         
             
            ### 試したこと
         
     | 
| 
       17 
72 
     | 
    
         
             
            いくつかACが存在するので、入力された値の特殊な場合をはじきだせてないのが原因だと思います。
         
     |