Submission #1102379

#TimeUsernameProblemLanguageResultExecution timeMemory
1102379HiepVu217Topical (NOI23_topical)C++17
100 / 100
317 ms94388 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1e6 + 17; int n, k, id[N], ex[N], p[N], ans; vector <pair <int, int>> r[N]; vector <int> u[N], md; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> k; for (int i = 1; i <= n; ++i) { for (int j = 1, x; j <= k; ++j) { cin >> x; r[j].push_back ({x, i}); } } for (int i = 1; i <= k; ++i) { sort (r[i].begin(), r[i].end()); } for (int i = 1; i <= n; ++i) { for (int j = 1, x; j <= k; ++j) { cin >> x; u[i].push_back(x); } } while (1) { for (int i = 1; i <= k; ++i) { while (id[i] < n && p[i] >= r[i][id[i]].first) { int _ = r[i][id[i]].second; ++ex[_], ++id[i]; if (ex[_] == k) { md.push_back(_); } } } if (!md.size()) { break; } ans += int (md.size()); for (int i: md) { for (int j = 0; j < k; ++j) { p[j + 1] += u[i][j]; } } md.clear(); } cout << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...