結果
| 問題 | 
                            No.45 回転寿司
                             | 
                    
| ユーザー | 
                             kenji_shioya
                         | 
                    
| 提出日時 | 2016-05-26 06:54:36 | 
| 言語 | Java  (openjdk 23)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,302 bytes | 
| コンパイル時間 | 3,664 ms | 
| コンパイル使用メモリ | 77,724 KB | 
| 実行使用メモリ | 86,384 KB | 
| 最終ジャッジ日時 | 2024-11-24 16:54:52 | 
| 合計ジャッジ時間 | 177,703 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| 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];
    LinkedList<Sushi> stack = new LinkedList<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();
      for (int n = 0; n < stack.size(); n++){
        Sushi sushiCopy = stack.get(n);
        if (sushi.indexOfSushi == sushiCopy.indexOfSushi){
          stack.remove(n);
        }
      }
      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