Pagini recente » Cod sursa (job #2457802) | Cod sursa (job #1573249) | Cod sursa (job #87360) | Cod sursa (job #3244450) | Cod sursa (job #199935)
Cod sursa(job #199935)
#include <stdio.h>
#define NMAX 1000
#define FIN "reconst.in"
#define FOUT "reconst.out"
long n,m;
long x1[NMAX],x2[NMAX],x3[NMAX];
void introdu(long a,long b,long c)
{
if (!x1[a])
{
x1[a]=b;
x2[a]=c;
return;
}
if (x1[a]>b)
{
introdu(b+1,x1[a],x2[a]-c);
x1[a]=0;
introdu(a,b,c);
}
if (x1[a]<b)
introdu(x1[a]+1,b,c-x2[a]);
}
int main()
{
long i,a,b,c;
freopen(FIN,"rt",stdin);
freopen(FOUT,"wt",stdout);
scanf("%ld %ld",&n,&m);
while (m)
{
scanf("%ld %ld %ld",&a,&b,&c);
introdu(a,b,c);
--m;
}
for (i=n;i>=1;i--)
if (x1[i])
{
for (a=i+1,c=0;a<=x1[i];++a)
c+=x1[a];
x3[i]=x2[i]-c;
}
for (i=1;i<=n;++i)
printf("%ld ",x3[i]);
return 0;
}