Cod sursa(job #887477)

Utilizator MagnvsDaniel Constantin Anghel Magnvs Data 23 februarie 2013 19:53:57
Problema Reconst Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
 
int n,m,v[2011],sol[2011];
 
void fct(int x,int y,int z)
{
    if(!v[x])
    {
        v[x]=y;
        sol[x]=z;
        return;
    }
    if(v[x]>y)
    {
        fct(y+1,v[x],sol[x]-z);
        v[x]=y;
        sol[x]=z;
        return;
    }
    if(v[x]<y)
        fct(v[x]+1,y,z-sol[x]);
}
 
int main()
{
    int i,x,y,z,j;
    freopen("reconst.in","r",stdin);
    freopen("reconst.out","w",stdout);
    scanf("%d %d\n",&n,&m);
    for(;m;--m)
    {
        scanf("%d %d %d\n",&x,&y,&z);
        fct(x,y,z);
    }
    for(i=n;i;--i)
        for(j=i+1;j<=v[i];++j)
            sol[i]-=sol[j];
    for(i=1;i<=n;++i)
        printf("%d ",sol[i]);
    printf("\n");
    return 0;
}