Pagini recente » Cod sursa (job #1533209) | Cod sursa (job #2816626) | Cod sursa (job #1302180) | Cod sursa (job #1751334) | Cod sursa (job #198199)
Cod sursa(job #198199)
#include <cstdio>
int n,m,fin[2001],s[2001],x[2001];
void baga(int a,int b,int sum){
if (!fin[a]) {fin[a]=b;
s[a]=sum;
return;}
if (fin[a]>b) {baga(b+1,fin[a],s[a]-sum);
fin[a]=0;
baga(a,b,sum);}
if (fin[a]<b) baga(fin[a]+1,b,sum-s[a]);
}
int main(){
int i,a,b,sum;
freopen("reconst.in","r",stdin);
freopen("reconst.out","w",stdout);
scanf("%d %d",&n,&m);
while (m--){
scanf("%d %d %d",&a,&b,&sum);
baga(a,b,sum);
}
for (i=n;i;i--)
if (fin[i]){
for (a=i+1,sum=0;a<=fin[i];++a)
sum+=x[a];
x[i]=s[i]-sum;
}
for (i=1;i<=n;++i)
printf("%d ",x[i]);
return 0;
}