Submission #635769

#TimeUsernameProblemLanguageResultExecution timeMemory
635769BruteforcemanTrading (IZhO13_trading)C++11
100 / 100
344 ms39944 KiB
#include<bits/stdc++.h> using namespace std; const int N = 3e5 + 10; int n,m; int a[N]; struct tr{ int l,r,x; } tr[N]; vector<int> in[N],out[N]; signed main(){ iostream::sync_with_stdio(false); cin.tie(nullptr);cout.tie(nullptr); cin >> n >> m; for(int i = 0;i<m;i++){ cin >> tr[i].l >> tr[i].r >> tr[i].x; tr[i].l--; tr[i].r--; in[tr[i].l].push_back(i); out[tr[i].r].push_back(i); } multiset<int> se; int c = 0; for(int i = 0;i<n;i++){ for(auto e : in[i]){ se.insert(tr[e].x - c); } // for(auto e : se)cout << e << " "; // cout << endl; if(se.size() == 0) a[i] = 0; else a[i] = *se.rbegin() + c; c++; for(auto e : out[i]){ int val = tr[e].x - tr[e].l; // cerr << e << " " << val << endl; se.erase(se.find(val)); } } for(int i = 0;i<n;i++) cout << a[i] << " "; cout << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...