Pagini recente » Cod sursa (job #1444708) | Cod sursa (job #228741) | Cod sursa (job #1376049) | Diferente pentru implica-te/arhiva-educationala intre reviziile 186 si 185 | Cod sursa (job #2040222)
#include<cstdio>
int left[2005],right[2005];
int add(int l,int r,int s){
if (!left[l]){
left[l]=r;
right[l]=s;}
else{
if (left[l]<r)
add(left[l]+1,r,s-right[l]);
else
if (left[l]>r){
add(r+1,left[l],right[l]-s);
left[l]=r;
right[l]=s;}}}
int main(){
freopen("reconst.in","r",stdin);
freopen("reconst.out","w",stdout);
int n,m,i,l,r,s,j;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++){
scanf("%d%d%d",&l,&r,&s);
add(l,r,s);}
for(i=n;i>=1;i--)
for(j=i+1;j<=left[i];j++)
right[i]-=right[j];
for(i=1;i<=n;i++)
printf("%d ",right[i]);
return 0;}