Submission #1175279

#TimeUsernameProblemLanguageResultExecution timeMemory
1175279elotelo966Topical (NOI23_topical)C++20
100 / 100
277 ms86548 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define OYY LLONG_MAX #define faster ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); #define fi first #define se second #define FOR for(int i=1;i<=n;i++) #define mid (start+end)/2 #define pb push_back #define lim 1000005 const int mod=1000000007; vector<pair<int,int>> v[lim]; int n,k; int arr1[lim],cost[lim],cur_cost[lim],cur_point[lim],kim[lim]; inline int ind(int x,int y){ return (x-1)*k+y; } int32_t main(){ faster cin>>n>>k; FOR{ for(int j=1;j<=k;j++){ cin>>arr1[ind(i,j)]; v[j].pb({arr1[ind(i,j)],i}); } } FOR{ for(int j=1;j<=k;j++){ cin>>cost[ind(i,j)]; } } for(int i=1;i<=k;i++){ sort(v[i].begin(),v[i].end()); } int cev=0; while(true){ vector<int> yeni; for(int i=1;i<=k;i++){ while(cur_point[i]<n && v[i][cur_point[i]].fi<=cur_cost[i]){ //cout<<i<<" "<<cur_point[i]<<" "<<v[i][cur_point[i]].fi<<" "<<v[i][cur_point[i]].se<<endl; kim[v[i][cur_point[i]].se]++; //cout<<v[i][cur_point[i]].se<<" "<<kim[v[i][cur_point[i]].se]<<endl; //kim[v[i][cur_point[i]].se]<<endl; if(kim[v[i][cur_point[i]].se]==k)yeni.pb(v[i][cur_point[i]].se); cur_point[i]++; } } if(yeni.size()==0)break; for(auto a:yeni){ for(int i=1;i<=k;i++){ cur_cost[i]+=cost[ind(a,i)]; } cev++; } } cout<<cev<<'\n'; 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...