Pagini recente » Cod sursa (job #1574980) | Cod sursa (job #1825153) | Cod sursa (job #2190366) | Cod sursa (job #762671) | Cod sursa (job #1971830)
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("reconst.in");
ofstream so("reconst.out");
int v[2005];
int s[2005];
int e[2005],sum[2005];
int main()
{
int n,m;
si>>n>>m;
int poz=0,st,r,dr,nec;
for(int i=1;i<=m;++i)
{
si>>st>>dr>>nec;
//cout<<st<<' '<<dr<<' '<<nec<<"->";
while(e[st])
{
if(dr<e[st])
{
r=dr;
dr=e[st];
e[st]=dr;
r=nec;
nec=sum[st];
sum[st]=r;
}
else
if(dr==e[st])
break;
nec-=sum[st];
st=e[st]+1;
}
//cout<<st<<' '<<dr<<' '<<nec<<'\n';
if(e[st]==dr)
--poz;
else
{
e[st]=dr;
sum[st]=nec;
}
}
for(int i=n;i;--i)
{
if(e[i])
{
v[i]=sum[i]-s[i+1]+s[e[i]+1];
}
else
v[i]=0;
s[i]=s[i+1]+v[i];
}
for(int i=1;i<=n;++i)
so<<v[i]<<' ';
return 0;
}