結果
問題 | No.607 開通777年記念 |
ユーザー | YamaKasa |
提出日時 | 2018-09-28 01:28:58 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 1,306 ms / 2,000 ms |
コード長 | 1,570 bytes |
コンパイル時間 | 1,862 ms |
コンパイル使用メモリ | 77,676 KB |
実行使用メモリ | 77,932 KB |
最終ジャッジ日時 | 2024-10-12 04:42:32 |
合計ジャッジ時間 | 7,656 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 126 ms
54,396 KB |
testcase_01 | AC | 119 ms
53,944 KB |
testcase_02 | AC | 127 ms
54,208 KB |
testcase_03 | AC | 125 ms
54,384 KB |
testcase_04 | AC | 113 ms
53,952 KB |
testcase_05 | AC | 122 ms
54,220 KB |
testcase_06 | AC | 115 ms
54,252 KB |
testcase_07 | AC | 679 ms
66,564 KB |
testcase_08 | AC | 126 ms
54,092 KB |
testcase_09 | AC | 230 ms
57,556 KB |
testcase_10 | AC | 231 ms
58,612 KB |
testcase_11 | AC | 1,306 ms
77,128 KB |
testcase_12 | AC | 1,258 ms
77,932 KB |
ソースコード
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int N = scan.nextInt(); int M = scan.nextInt(); int[][]a = new int[M][N]; for(int i = 0; i < M; i++) { for(int j = 0; j < N; j++) { a[i][j] = scan.nextInt(); } } scan.close(); int[][]b = new int[M + 1][N]; for(int i = 1; i <= M; i++) { for(int j = 0; j < N; j++) { b[i][j] += b[i - 1][j] + a[i - 1][j]; } } int[][]c = new int[M][N + 1]; for(int i = 0; i < M; i++) { for(int j = 1; j <= N; j++) { c[i][j] += c[i][j - 1] + b[i + 1][j - 1]; } } // for(int i = 0; i <= M; i++) { // for(int j = 0; j < N; j++) { // System.out.print(b[i][j] + " "); // } // System.out.println(); // } for(int i = 1; i <= M; i++) { int right = 0; int sum = 0; for(int left = 0; left < N; left++) { while(right < N && sum < 777) { sum += b[i][right]; right++; } if(sum == 777) { System.out.println("YES"); System.exit(0); } if(left == right) { right++; }else { sum -= b[i][left]; } } } // // for(int i = 0; i < M; i++) { // for(int j = 0; j <= N; j++) { // System.out.print(c[i][j] + " "); // } // System.out.println(); // } // for(int i = 0; i < M; i++) { // for(int j = 0; j <= N; j++) { // for(int k = j + 1; k <= N; k++) { // int t = c[i][k] - c[i][j]; // if(t == 777) { // System.out.println("YES"); // System.exit(0); // } // } // } // } System.out.println("NO"); } }