#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n, k; cin >> n >> k;
vector<vector<int>> r(n + 1, vector<int>(k + 1)), u(n + 1, vector<int>(k + 1));
vector<priority_queue<pair<int, int>>> pq(k + 1);
for(int i = 1; i <= n; i++){
for(int j = 1; j <= k; j++){
cin >> r[i][j];
pq[j].push({-r[i][j], i});
}
}
for(int i = 1; i <= n; i++){
for(int j = 1; j <= k; j++) cin >> u[i][j];
}
vector<int> p(k + 1), at(n + 1);
for(int loop = 1; loop <= n + 1; loop++){
for(int j = 1; j <= k; j++){
while(pq[j].size() && -(pq[j].top().first) <= p[j]){
auto [_, id] = pq[j].top();
pq[j].pop();
at[id]++;
if(at[id] == k){
for(int z = 1; z <= k; z++) p[z] += u[id][z];
}
}
}
}
int res = 0;
for(int i = 1; i <= n; i++) if(at[i] == k) res++;
cout << res;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |