Pagini recente » Cod sursa (job #136713) | Cod sursa (job #1486384) | Cod sursa (job #925233) | Cod sursa (job #1954111) | Cod sursa (job #235197)
Cod sursa(job #235197)
#include<stdio.h>
int n,k,i,a[2111],b[2111],s[2111],S,x,y;
void add(int x,int y,int S){
if(!b[x]){
b[x]=y;
s[x]=S;
}
else{
if(b[x]==y)
return ;
if(b[x] > y ){
add(y+1, b[x], s[x] - S);
b[x]=y;
s[x]=S;
}
else{
add(b[x]+1 ,y ,S - s[x] );
}
}
}
int main(){
FILE *f=fopen("reconst.in","r");
fscanf(f,"%d %d",&n,&k);
for(i=1;i<=k;i++){
fscanf(f,"%d %d %d",&x,&y,&S);
add(x,y,S);
}
fclose(f);
for(i=n;i>=1;i--){
if(b[i]){
a[i]=s[i] + a[ b[i] + 1 ];
}
else
a[i]=a[i+1];
}
FILE *g=fopen("reconst.out","w");
for(i=1;i<=n;i++)
fprintf(g,"%d\n",a[i]-a[i+1]);
fclose(g);
return 0;
}