Submission #5399

#TimeUsernameProblemLanguageResultExecution timeMemory
5399gs12117Trading (IZhO13_trading)C++98
100 / 100
168 ms7532 KiB
#include<stdio.h> #include<algorithm> int n,m; struct trader{ int l,r,p; bool operator<(const trader&v)const{ return p>v.p; } }; trader tset[300100]; int ans[300100]; int uft[300100]; int uftf(int x){ if(x==uft[x])return x; return uft[x]=uftf(uft[x]); } int main(){ int i,j; scanf("%d%d",&n,&m); for(i=0;i<m;i++){ scanf("%d%d%d",&tset[i].l,&tset[i].r,&tset[i].p); tset[i].l--; tset[i].p-=tset[i].l; } std::sort(tset,tset+m); for(i=0;i<=n;i++){ uft[i]=i; } for(i=0;i<m;i++){ for(j=uftf(tset[i].l);j<tset[i].r;j=uftf(j)){ ans[j]=tset[i].p+j; uft[j]=uftf(j+1); } } for(i=0;i<n;i++){ printf("%d ",ans[i]); } }
#Verdict Execution timeMemoryGrader output
Fetching results...