제출 #1316477

#제출 시각아이디문제언어결과실행 시간메모리
1316477exoworldgdTopical (NOI23_topical)C++20
28 / 100
406 ms128432 KiB
#include<bits/stdc++.h> #define int long long #define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0) using namespace std; int n,m,c[100005],val[100005],ans; queue<int>q; signed main(void){ exoworldgd; cin>>n>>m; vector<vector<int>>a(n,vector<int>(m)),b(n,vector<int>(m)); vector<priority_queue<array<int,2>,vector<array<int,2>>,greater<>>>pq(m); for(auto&i:a)for(auto&j:i)cin>>j; for(auto&i:b)for(auto&j:i)cin>>j; for(int i=0;i<n;i++){ for(int j=0;j<m;j++)a[i][j]?pq[j].push({a[i][j],i}),0:c[i]++; if(c[i]==m)q.push(i); } while(q.size()){ int u=q.front();q.pop(),ans++; for(int i=0,v;i<m;i++){ val[i]+=b[u][i]; while(pq[i].size()&&pq[i].top()[0]<=val[i]){ v=pq[i].top()[1],pq[i].pop(),c[v]++; if(c[v]==m)q.push(v); } } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...