Cod sursa(job #806957)

Utilizator robertpoeRobert Poenaru robertpoe Data 3 noiembrie 2012 19:44:56
Problema Reconst Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 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;
}