結果
問題 |
No.45 回転寿司
|
ユーザー |
|
提出日時 | 2020-05-25 10:19:30 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 182 ms / 5,000 ms |
コード長 | 995 bytes |
コンパイル時間 | 2,069 ms |
コンパイル使用メモリ | 78,484 KB |
実行使用メモリ | 42,400 KB |
最終ジャッジ日時 | 2024-10-13 02:01:33 |
合計ジャッジ時間 | 8,421 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
ソースコード
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int sushiNum = sc.nextInt(); int[] sushiTastes = new int[sushiNum]; for (int i = 0; i < sushiNum; i++) { sushiTastes[i] = sc.nextInt(); } int ret = new Main().execute(sushiNum, sushiTastes); System.out.println(ret); } int execute(int sushiNum, int[] sushiTastes) { int lastOnMaxTasteSum = 0; int lastOffMaxTasteSum = 0; boolean lastOff = true; for (int taste : sushiTastes) { if (lastOff) { lastOnMaxTasteSum = lastOffMaxTasteSum + taste; lastOff = false; } else { int newLastOnMaxTasteSum = lastOffMaxTasteSum + taste; int newLastOffMaxTasteSum = lastOnMaxTasteSum; lastOnMaxTasteSum = newLastOnMaxTasteSum; lastOffMaxTasteSum = newLastOffMaxTasteSum; if (lastOnMaxTasteSum <= lastOffMaxTasteSum) { lastOff = true; } } } return Math.max(lastOnMaxTasteSum, lastOffMaxTasteSum); } }