Submission #1169553

#TimeUsernameProblemLanguageResultExecution timeMemory
1169553nathan4690Topical (NOI23_topical)C++20
100 / 100
353 ms146736 KiB
#include <bits/stdc++.h> #define ll long long #define ld long double #define f1(i,n) for(int i=1;i<=n;i++) #define __file_name "" using namespace std; const ll maxn=1e6+5, inf=1e18; int n, k, ptr[maxn], rem[maxn]; ll val[maxn]; int ans; vector<vector<int>> r, u; vector<pair<int,int>> allc[maxn]; queue<int> qu; void upd(){ f1(i,k){ while(ptr[i] < allc[i].size()){ if(val[i] >= allc[i][ptr[i]].first){ int idx = allc[i][ptr[i]].second; rem[idx]--; if(rem[idx] == 0) qu.push(idx); ptr[i]++; }else break; } } } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if(fopen(__file_name ".inp", "r")){ freopen(__file_name ".inp", "r", stdin); freopen(__file_name ".out", "w", stdout); } // code here cin >> n >> k; r.resize(n+1, vector<int>(k+1)); u.resize(n+1, vector<int>(k+1)); f1(i, n) f1(j, k) { cin >> r[i][j]; allc[j].push_back({r[i][j], i}); } f1(i,n) f1(j,k) cin >> u[i][j]; f1(i,k) sort(allc[i].begin(), allc[i].end()); f1(i,n) rem[i] = k; upd(); while(!qu.empty()){ int idx = qu.front(); qu.pop(); ans++; f1(i,k) val[i] += u[idx][i]; upd(); } cout << ans; return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:33:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |         freopen(__file_name ".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:34:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |         freopen(__file_name ".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...