Cod sursa(job #1597252)

Utilizator felixiPuscasu Felix felixi Data 11 februarie 2016 20:26:59
Problema Reconst Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
using namespace std;

#define MAX 3000

long long N,M,x,y,z,i,a[MAX],s[MAX],j;

void preluc (long long x, long long y, long long z)
{
    if (!a[x])
    {
        a[x]=y;
        s[x]=z;
    }
    else if (a[x]<y) preluc (a[x]+1,y,z-s[x]);
        else if (a[x]>y)
        {
            preluc (y+1,a[x],s[x]-z);
            a[x]=y;
            s[x]=z;
        }
}

int main()
{
    ifstream f("reconst.in");
    ofstream g("reconst.out");
    f>>N>>M;
    for (i=1;i<=M;++i)
    {
        f>>x>>y>>z;
        preluc (x,y,z);
    }
    f.close();
    for (i=N;i;--i)
        for (j=i+1;j<=a[i];++j)
            s[i]-=s[j];
    for (i=1;i<=N;++i)
        g<<s[i]<<" ";
    g<<'\n';
    g.close();
    return 0;
}