Cod sursa(job #199939)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 21 iulie 2008 13:47:20
Problema Reconst Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>

#define FIN "reconst.in"
#define FOUT "reconst.out"
#define NMAX 2020

int n,m;
int x3[NMAX],x1[NMAX],x2[NMAX];
int i,a,b,c;

void introdu(int a,int b,int c)
{
if (!x1[a])
   {
   x1[a]=b;
   x2[a]=c;
   return;
   }
if (x1[a]>b)
   {
   introdu(b+1,x1[a],x2[a]-c);
   x1[a]=0;
   introdu(a,b,c);
   }
if (x1[a]<b)
    introdu(x1[a]+1,b,c-x2[a]);
}

int main()
{

freopen(FIN,"rt",stdin);
freopen(FOUT,"wt",stdout);

scanf("%d %d", &n, &m);

while (m)
      {
      scanf("%d %d %d",&a,&b,&c);
      introdu(a,b,c);
      --m;
      }
for (i=n;i>=1;i--)
    if (x1[i])
       {
       for (a=i+1,c=0;a<=x1[i];a++)
       c+=x3[a];
       x3[i]=x2[i]-c;
       }   
for (i=1;i<=n;++i)
    printf("%d ",x3[i]);
return 0;
}