結果
| 問題 |
No.45 回転寿司
|
| ユーザー |
|
| 提出日時 | 2016-06-20 14:29:00 |
| 言語 | Java (openjdk 23) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 2,453 bytes |
| コンパイル時間 | 2,425 ms |
| コンパイル使用メモリ | 78,128 KB |
| 実行使用メモリ | 108,768 KB |
| 最終ジャッジ日時 | 2024-11-24 17:04:08 |
| 合計ジャッジ時間 | 35,892 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 2 RE * 23 TLE * 5 |
ソースコード
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static Integer[] costList;
public static Integer A;
public static void main(String[] args) throws IOException {
proconScan proScan = new proconScan(" ");
A = proScan.scanInteger1();
proScan.scan();
costList = proScan.getInt();
System.out.print(Math.max(sushi(1, costList[0], 0), sushi(0, 0, 0)));
proScan.proconEnd();
}
public static Integer sushi(Integer tabeta, Integer nowCost, Integer idx){
idx++;
if(idx==A) return nowCost;
return (tabeta==0)?Math.max(sushi(1, nowCost+costList[idx], idx), sushi(0, nowCost, idx)) : sushi(0, nowCost, idx);
}
}
class proconScan {
private BufferedReader br;
private String inLine;
private String[] inString;
private Integer idx;
private String splitChar;
public proconScan() {
br = new BufferedReader(new InputStreamReader(System.in));
idx = 0;
splitChar = " ";
}
public proconScan(String split) {
br = new BufferedReader(new InputStreamReader(System.in));
idx = 0;
splitChar = split;
}
public void proconEnd() throws IOException {
// TODO 自動生成されたメソッド・スタブ
br.close();
}
public String scan() throws IOException {
idx = 0;
inLine = br.readLine();
inString = inLine.split(splitChar, 0);
return inLine;
}
public Integer scanInteger1() throws IOException {
scan();
return Integer.parseInt(inString[0]);
}
public String backLine() {
return inLine;
}
public String nextString() {
return inString[idx++];
}
public String[] getString() {
return inString;
}
public Integer nextInt() {
Integer num;
try {
num = Integer.parseInt(inString[idx++]);
} catch (NumberFormatException e) {
num = null;// TODO: handle exception
}
return num;
}
public Integer[] getInt() {
Integer[] num = new Integer[this.getLen()];
for (int i = 0; i < this.getLen(); i++) {
num[i] = Integer.parseInt(inString[i]);
}
return num;
}
public Float nextFloat() {
Float num;
try {
num = Float.parseFloat(inString[idx++]);
} catch (NumberFormatException e) {
num = null;// TODO: handle exception
}
return num;
}
public Float[] getFloat() {
Float[] num = new Float[this.getLen()];
for (int i = 0; i < this.getLen(); i++) {
num[i] = Float.parseFloat(inString[i]);
}
return num;
}
public Integer getLen() {
return inString.length;
}
}