Submission #1164255

#TimeUsernameProblemLanguageResultExecution timeMemory
1164255ChottuFTopical (NOI23_topical)C++20
100 / 100
730 ms297908 KiB
#include<bits/stdc++.h> using namespace std; const long long MAXV = 1e7; long long all[MAXV],hshed[MAXV]; long long used[MAXV]; long long cur[MAXV]; vector<pair<long long,long long>> arr[MAXV]; long long ind[MAXV]; int main(){ long long n,k; cin >> n >> k; for(long long i = 0; i<n; i++){ for(long long j = 0; j<k; j++){ cin >> all[i*k+j]; arr[j].push_back({all[i*k+j],i}); } } for(long long j = 0; j<k; j++){ sort(arr[j].begin(),arr[j].end()); } for(long long i = 0; i<n; i++){ for (long long j = 0; j<k; j++){ cin >> hshed[i*k+j]; } } long long ans = 0; vector<long long> nex; bool flag = 1; while(flag){ flag = 0; for(long long j = 0; j<k; j++){ while(ind[j] < n && arr[j][ind[j]].first <= cur[j]){ used[arr[j][ind[j]].second]++; if(used[arr[j][ind[j]].second] == k){ for(long long jj = 0; jj < k; jj++){ cur[jj] += hshed[arr[j][ind[j]].second*k+jj]; } ans++; flag = 1; } ind[j]++; } } } 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...