Pagini recente » Cod sursa (job #951488) | Cod sursa (job #2295704) | Cod sursa (job #682033) | Cod sursa (job #1733081) | Cod sursa (job #198012)
Cod sursa(job #198012)
#include <cstdio>
#define IN "reconst.in"
#define OUT "reconst.out"
#define N_MAX 2000
#define FOR(i,a,b) for(int i=a;i<=b;++i)
int N,M;
int last[N_MAX];
int sum[N_MAX];
int v[N_MAX];
void scan()
{
freopen(IN, "r",stdin);
freopen(OUT, "w",stdout);
scanf("%d%d\n",&N,&M);
}
void add(int a,int b,int s)
{
if(!last[a])
{
last[a] = b;
sum[a] = s;
return;
}
if(last[a] < b)
add(last[a]+1,b,s-sum[a]);
else
{
add(b+1,last[a],sum[a]-s);
last[a] = b;
sum[a] = s;
}
}
void solve()
{
int a,b,s;
FOR(i,1,M)
{
scanf("%d%d%d\n", &a,&b,&s);
if(a <= b)
add(a,b,s);
}
}
void print()
{
FOR(i,0,N-1)
{
if(last[N-i])
v[N-i] = sum[N-i] + v[ last[N-i] + 1 ];
else
v[N-i] = v[N-i+1];
}
FOR(i,1,N)
printf("%d ", v[i] - v[i+1]);
}
int main()
{
scan();
solve();
print();
return 0;
}