Submission #1188875

#TimeUsernameProblemLanguageResultExecution timeMemory
1188875caterpillowTopical (NOI23_topical)C++20
100 / 100
310 ms86344 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; main() { cin.tie(0)->sync_with_stdio(0); int n, k; cin >> n >> k; vector gain(n, vector<ll>(k)); vector todo(k, vector<pair<ll, int>>(n)); for (int i = 0; i < n; i++) { for (int j = 0; j < k; j++) { ll x; cin >> x; todo[j][i] = {x, i}; } } for (int i = 0; i < k; i++) { sort(todo[i].rbegin(), todo[i].rend()); } for (int i = 0; i < n; i++) { for (int j = 0; j < k; j++) { cin >> gain[i][j]; } } int ans = 0; queue<int> q; vector<ll> rem(n, k), skill(k, 0); auto upd = [&] (int i) { while (todo[i].size() && todo[i].back().first <= skill[i]) { int module = todo[i].back().second; if (--rem[module] == 0) { q.push(module); } todo[i].pop_back(); } }; for (int i = 0; i < k; i++) upd(i); while (q.size()) { int i = q.front(); q.pop(); ans++; for (int j = 0; j < k; j++) { skill[j] += gain[i][j]; upd(j); } } cout << ans << '\n'; }

Compilation message (stderr)

Main.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    6 | main() {
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...