Cod sursa(job #873409)

Utilizator onisimgeorgescu cosmin onisim Data 7 februarie 2013 10:47:02
Problema Reconst Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
using namespace std;
ifstream f("reconst.in");
ofstream g("reconst.out");
int v[10000],A[10000];
int a,b,s,i,n,m,j;
void solve(int a,int b,int sum)
{
    if(v[a]==0)
    {
        v[a]=b;
        A[a]=sum;
        return ;
    }
    if(v[a]<b)
    {
        solve(v[a]+1,b,sum-A[a]);
        return ;
    }
    if(v[a]>b)
    {
        solve(b+1,v[a],A[a]-sum);
    }
}
int main ()
{
    f>>n>>m;
    for(i=1;i<=m;i++)
    {
        f>>a>>b>>s;
        solve(a,b,s);
    }
    for(i=n;i>=1;i--)
        for(j=i+1;j<=v[i];j++)
            A[i]-=A[j];
    for(i=1;i<=n;i++)
        g<<A[i]<<" ";
    return 0;
}