Pagini recente » Cod sursa (job #743571) | Cod sursa (job #2232244) | Cod sursa (job #2473798) | Cod sursa (job #232666) | Cod sursa (job #793065)
Cod sursa(job #793065)
#include<cstdio>
using namespace std;
int a,b,s,n,m,v[2010],sum[2010],ult[2010],i;
void recon(int a,int b,int s)
{
if (ult[a]==0)
{
ult[a]=b;
sum[a]=s;
return;
}
if(ult[a]<b)
{
recon(ult[a]+1,b,s-sum[a]);
}
else
{
recon(b+1,ult[a],sum[a]-s);
ult[a]=b;
sum[a]=s;
}
}
int main()
{
freopen("reconst.in","r",stdin);
freopen("reconst.out","w",stdout);
scanf("%d%d",&n,&m);
for (i=m;i>=1;i--)
{
scanf("%d%d%d",&a,&b,&s);
recon(a,b,s);
}
for (i=n;i>0;i--)
{
if (ult[i]!=0)
{
v[i]=sum[i]+v[ult[i]+1];
}
else v[i]=v[i+1];
}
for (i=1;i<n;i++)
{
printf("%d ",v[i]-v[i+1]);
}
printf("%d\n",v[n]);
return 0;
}