結果
| 問題 |
No.45 回転寿司
|
| ユーザー |
FpmpAmpm
|
| 提出日時 | 2016-10-23 12:45:09 |
| 言語 | Java (openjdk 23) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 921 bytes |
| コンパイル時間 | 2,478 ms |
| コンパイル使用メモリ | 74,508 KB |
| 実行使用メモリ | 109,152 KB |
| 最終ジャッジ日時 | 2024-11-24 17:41:25 |
| 合計ジャッジ時間 | 177,980 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 2 TLE * 28 |
ソースコード
import java.util.*;
import java.lang.*;
import java.io.*;
class sushi {
private static final int MAX_N = 1000;
static int n; // sushiの数
static int v[] = new int[MAX_N]; //sushiの価値
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
for (int i = 0; i < n; i++) {
v[i] = sc.nextInt();
}
sc.close();
System.out.println(eat(0, -2));
}
static int eat(int i,int j) {
int ret;
// 皿がない場合
if (i == n) {
ret = 0;
// 食べたらダメな皿の場合
} else if (i == j + 1) {
ret = eat(i+1, j);
} else {
// 食べた場合と食べなかった場合を比べる
if (i == n -1) {
ret = eat(i+1, i) + v[i];
} else {
int tmp1 = eat(i+1, i) + v[i];
int tmp2 = eat(i+1, j);
ret = (tmp1 < tmp2) ? tmp2:tmp1;
//ret = Math.max(eat(i+1, i) + v[i], eat(i+1, j));
}
}
return ret;
}
}
FpmpAmpm