結果
| 問題 | 
                            No.45 回転寿司
                             | 
                    
| ユーザー | 
                             kenji_shioya
                         | 
                    
| 提出日時 | 2016-05-26 06:30:48 | 
| 言語 | Java  (openjdk 23)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,351 bytes | 
| コンパイル時間 | 2,906 ms | 
| コンパイル使用メモリ | 78,076 KB | 
| 実行使用メモリ | 87,092 KB | 
| 最終ジャッジ日時 | 2024-11-24 16:51:47 | 
| 合計ジャッジ時間 | 177,005 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 3 TLE * 27 | 
ソースコード
import java.util.*;
public class Exercises19{
  public static void main (String[] args){
    Scanner sc = new Scanner(System.in);
    int numberOfSushi = sc.nextInt();
    int[] sushiArray = new int[numberOfSushi];
    ArrayDeque<Sushi> stack = new ArrayDeque<Sushi>();
    int sum = 0;
    for (int n = 0; n < numberOfSushi; n++){
      sushiArray[n] = sc.nextInt();
      stack.add(new Sushi(sushiArray[n], n));
    }
    while (stack.size() > 0){
      Sushi sushi = stack.pop();
      ArrayDeque<Sushi> copy = stack.clone();
      for (int n = 0; n < copy.size(); n++){
        Sushi sushiCopy = copy.pop();
        if (sushi.indexOfSushi == sushiCopy.indexOfSushi){
          stack.remove(sushiCopy);
        }
      }
      if(sushi.indexOfSushi + 1 >= numberOfSushi - 1){
        if (sum < sushi.sumOfTaste) {
          sum = sushi.sumOfTaste;
        }
      }else{
        int maxTaste = 0;
        for (int n = (sushi.indexOfSushi + 2); n < numberOfSushi; n++){
          if (maxTaste < sushiArray[n]){
            maxTaste = sushiArray[n];
            stack.push(new Sushi(sushi.sumOfTaste + sushiArray[n], n));
          }
        }
      }
    }
    System.out.println(sum);
  }
}
class Sushi {
  public int sumOfTaste;
  public int indexOfSushi;
  Sushi(int sum, int index){
    sumOfTaste = sum;
    indexOfSushi = index;
  }
}
            
            
            
        
            
kenji_shioya