結果
問題 |
No.709 優勝可能性
|
ユーザー |
![]() |
提出日時 | 2018-03-30 01:35:54 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 2,520 ms / 3,500 ms |
コード長 | 892 bytes |
コンパイル時間 | 2,239 ms |
コンパイル使用メモリ | 77,148 KB |
実行使用メモリ | 104,624 KB |
最終ジャッジ日時 | 2024-06-26 00:18:58 |
合計ジャッジ時間 | 26,976 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
ソースコード
import java.util.Scanner; class Main { public static void main(String arg[]) { Scanner cin = new Scanner(System.in); int N = cin.nextInt(); int M = cin.nextInt(); int[][] R = new int[N][M]; int[] last = new int[M]; int[] deg = new int[N]; int ans = 0; for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) { R[i][j] = cin.nextInt(); if(R[i][j] > R[last[j]][j]) { for(int k = last[j]; k < i; k++) { if(R[last[j]][j] == R[k][j]) { deg[k]--; if(deg[k] == 0) { ans--; } } } last[j] = i; deg[i]++; if(deg[i] == 1) ans++; } else if(R[i][j] == R[last[j]][j]) { deg[i]++; if(deg[i] == 1) ans++; } } System.out.println(ans); } } }