Submission #334733

#TimeUsernameProblemLanguageResultExecution timeMemory
334733limabeansTrading (IZhO13_trading)C++17
100 / 100
417 ms49236 KiB
#include <bits/stdc++.h> using namespace std; template<typename T> void out(T x) { cout << x << endl; exit(0); } #define watch(x) cout << (#x) << " is " << (x) << endl using ll = long long; const int maxn = 1e6 + 5; struct line { int l,r,y; void read() { cin>>l>>r>>y; } }; int n,m; int ans[maxn]; line a[maxn]; vector<pair<int,int>> ev[maxn]; set<pair<int,int>> st; // (y-x,i) int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>m; for (int i=1; i<=m; i++) { a[i].read(); ev[a[i].l].push_back({i,+1}); ev[a[i].r+1].push_back({i,-1}); } for (int i=1; i<=n; i++) { for (auto p: ev[i]) { int i=p.first; if (p.second==1) { st.insert({a[i].l-a[i].y,i}); } else { st.erase({a[i].l-a[i].y,i}); } } if (st.empty()) { ans[i]=0; continue; } int diff=st.begin()->first; ans[i] = i-diff; } for (int i=1; i<=n; i++) { cout<<ans[i]<<" "; } cout<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...