Pagini recente » Cod sursa (job #2897900) | Cod sursa (job #2327811) | Cod sursa (job #2553923) | Cod sursa (job #661902) | Cod sursa (job #197861)
Cod sursa(job #197861)
#include<stdio.h>
#define N 2010
int n,m,sir[N],sum[N],last[N];
void adauga(int a,int b,int s)
{
if(!last[a])
{
last[a]=b;
sum[a]=s;
return;
}
if(last[a]<b)
adauga(last[a]+1,b,s-sum[a]);
else
{
adauga(b+1,last[a],sum[a]-s);
last[a]=b;
sum[a]=s;
}
}
int main()
{
freopen("reconst.in","r",stdin);
freopen("reconst.out","w",stdout);
scanf("%d%d",&n,&m);
int a,b,c;
for(; m; m--)
{
scanf("%d%d%d",&a,&b,&c);
adauga(a,b,c);
}
for(int i=n; i>0; i--)
{
if(last[i])
sir[i]=sum[i]+sir[last[i]+1];
else
sir[i]=sir[i+1];
}
for(int i=1; i<n; i++)
printf("%d ",sir[i]-sir[i+1]);
printf("%d\n",sir[n]);
return 0;
}