#include <bits/stdc++.h>
using namespace std;
int main() {
//if n== 1: if r != 0 for all k, cout << 0, else 1
//if k == 1:
int n, k;
cin>>n>>k;
int ans = 0, know1 = 0, r, u;
//if n = 1
if(n==1) {
int check = 1;
for (int i=0;i<k;++i) {
cin >> r;
if (r!=0){
check = 0;
}
}
for (int i = 0;i<k;++i) cin >> r;
cout << check;
exit(0);
}
//Input knowledge requirement
vector<int> reqr;
vector<vector<int>> require;
for (int i = 0; i<n; ++i) {
for (int t = 0; t< k; ++t) {
cin >> r;
reqr.push_back(r);
}
require.push_back(reqr);
reqr.clear();
}
//Input knowledge gain
vector<int> kgain;
vector<vector<int>> gain;
for (int i = 0; i<n; ++i) {
for (int t = 0; t< k; ++t) {
cin >> u;
kgain.push_back(u);
}
gain.push_back(kgain);
kgain.clear();
}
//if k = 1
if (k==1) {
vector<pair<int,int>> val(n);
for(int i = 0;i<n;++i) {
val[i] = {require[i][0],gain[i][0]};
}
sort(val.begin(),val.end());
for(auto &module : val) {
if (module.first <= know1) {
know1 += module.second;
++ans;
} else {
break;
}
}
cout << ans;
exit(0);
}
return 0;
}
# | 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... |