結果
| 問題 |
No.607 開通777年記念
|
| コンテスト | |
| ユーザー |
YamaKasa
|
| 提出日時 | 2018-09-28 01:28:58 |
| 言語 | Java (openjdk 23) |
| 結果 |
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 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 10 |
ソースコード
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");
}
}
YamaKasa