Pagini recente » Cod sursa (job #2809390) | Cod sursa (job #317309) | Cod sursa (job #2128819) | Cod sursa (job #2616910) | Cod sursa (job #793116)
Cod sursa(job #793116)
#include <stdio.h>
#include <math.h>
#define MAXN 2010
long a, b, c, n, m, sir[MAXN], sum[MAXN], last[MAXN], i;
void insert(long a, long b, long s);
void insert(long a, long b, long s) {
if (b < a) {
return;
}
if (!last[a]) {
last[a]=b;
sum[a]=s;
return;
}
if (last[a] < b) {
insert(last[a] + 1, b , s - sum[a]);
} else {
insert(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("%ld%ld", &n, &m);
for(i = m; i >= 1; --i) {
scanf("%ld%ld%ld", &a, &b, &c);
insert(a, b, c);
}
for (i = n; i > 0; --i) {
if(last[i]) {
sir[i] = sum[i] + sir[last[i] + 1];
} else {
sir[i] = sir[i + 1];
}
}
for (i = 1; i < n; ++i) {
printf("%ld ", sir[i] - sir[i + 1]);
}
printf("%ld\n", sir[n]);
return 0;
}