Submission #985649

#TimeUsernameProblemLanguageResultExecution timeMemory
985649AliHasanliTopical (NOI23_topical)C++17
61 / 100
1016 ms34100 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n,k,ans=0; cin>>n>>k; if(k>1) { long long r[n][k],u[n][k]; for(int i=0;i<n;i++) for(int j=0;j<k;j++) cin>>r[i][j]; for(int i=0;i<n;i++) for(int j=0;j<k;j++) cin>>u[i][j]; long long p[k]={0};bool used[n]={0}; for(int i=0;i<n;i++) for(int j=0;j<n;j++) { if(used[j])continue; bool check=1; for(int g=0;g<k;g++) if(p[g]<r[j][g]){check=0;break;} if(check) { used[j]=1; ans++; for(int g=0;g<k;g++) p[g]+=u[j][g]; } } cout<<ans; } else { vector<pair<long long,long long>>ru; long long r[n],u[n]; for(int i=0;i<n;i++)cin>>r[i]; for(int i=0;i<n;i++)cin>>u[i]; for(int i=0;i<n;i++) ru.push_back({r[i],u[i]}); sort(ru.begin(),ru.end()); long long p=0; for(int i=0;i<n;i++) { if(ru[i].first<=p) { ans++; p+=ru[i].second; continue; } else break; } cout<<ans; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...