Pagini recente » Cod sursa (job #950769) | Cod sursa (job #1780157) | Cod sursa (job #2838739) | Cod sursa (job #1753805) | Cod sursa (job #197509)
Cod sursa(job #197509)
#include <stdio.h>
#include <string.h>
int N, M, fin[2048], sum[2048];
long long S[2048];
void sparge(int l, int r, int s)
{
if (!fin[l])
{
fin[l] = r;
sum[l] = s;
return ;
}
if (fin[l] < r)
sparge(fin[l]+1, r, s-sum[l]);
else
{
sparge(r+1, fin[l], sum[l]-s);
fin[l] = r;
sum[l] = s;
}
}
int main(void)
{
int i, j, k;
freopen("reconst.in", "r", stdin);
freopen("reconst.out", "w", stdout);
scanf("%d %d", &N, &M);
for (; M; --M)
{
scanf("%d %d %d", &i, &j, &k);
sparge(i, j, k);
}
for (i = N; i; --i)
if (fin[i])
S[i] = sum[i]+S[fin[i]+1];
else
S[i] = S[i+1];
for (i = 1; i <= N; ++i)
printf("%d ", (int)(S[i]-S[i+1]));
printf("\n");
return 0;
}