結果
問題 | No.709 優勝可能性 |
ユーザー |
![]() |
提出日時 | 2018-08-28 23:13:34 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 470 ms / 3,500 ms |
コード長 | 1,541 bytes |
コンパイル時間 | 562 ms |
コンパイル使用メモリ | 86,644 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-18 10:52:01 |
合計ジャッジ時間 | 5,851 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 22 |
ソースコード
#include <iostream>#include <vector>#include <algorithm>#include <cmath>#include <stack>#include <queue>#include <map>#include <unordered_map>#include <cassert>using namespace std;using i64 = int64_t;constexpr i64 mod = 1e9 + 7;using vi = vector<i64>;using vvi = vector<vi>;using ii = pair<i64, i64>;using vii = vector<ii>;stack<int> yusho[10];int yushoval[10];int yushonum[101010];int cnt = 0;int main() {int n, m;cin >> n >> m;for (int i = 0; i < n; i++) {int r;for (int j = 0; j < m; j++) {cin >> r;if (yusho[j].empty()) {yushoval[j] = r;yusho[j].push(i);if (yushonum[i] == 0) {cnt++;}yushonum[i]++;} else if (yushoval[j] < r) {yushoval[j] = r;while (yusho[j].size()) {int k = yusho[j].top();yusho[j].pop();yushonum[k]--;if (yushonum[k] == 0) {cnt--;}}if (yushonum[i] == 0) {cnt++;}yusho[j].push(i);yushonum[i]++;} else if (yushoval[j] == r) {yusho[j].push(i);if (yushonum[i] == 0) {cnt++;}yushonum[i]++;}}cout << cnt << endl;}}