Cod sursa(job #2040222)

Utilizator mari2001Maria Ionescu mari2001 Data 15 octombrie 2017 15:07:12
Problema Reconst Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#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;}