Submission #51630

#TimeUsernameProblemLanguageResultExecution timeMemory
51630Diuven단층 (JOI16_ho_t5)C++11
34 / 100
2079 ms6076 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> pii; const int MX=200010, inf=2e9; int n, q; struct { int x, d, l; } L[MX]; void track(pii &p, int idx){ ll u,v; tie(u,v)=p; if(L[idx].d==1){ if(v>=L[idx].x) u-=L[idx].l; } else{ if(u>=L[idx].x) v-=L[idx].l; } p=pii(u,v); } int main(){ ios::sync_with_stdio(0); cin.tie(0); cin>>n>>q; for(int i=1; i<=q; i++){ int x, d, l; cin>>x>>d>>l; // v>=x, u+=l if(d==1) L[i]={-x,d,2*l}; // u>=x, v+=l else L[i]={x+1,d,2*l}; } pii P[MX]={}; for(int i=1; i<=n; i++) P[i]=pii(i,-i); for(int i=q; i>=1; i--){ for(int j=1; j<=n; j++){ track(P[j], i); } } for(int i=1; i<=n; i++) cout<<-((P[i].first+P[i].second)/2)<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...