Pagini recente » Cod sursa (job #291195) | Cod sursa (job #2044652) | Cod sursa (job #611808) | Cod sursa (job #1568430) | Cod sursa (job #458841)
Cod sursa(job #458841)
#include<fstream>
#include<algorithm>
#include<iterator>
using namespace std;
void read();
void write();
void add(int a, int b, int sm);
inline int abs(int x)
{
return x < 0 ? x * -1 : x;
}
int n, m;
int s[2001], t[2001];
int main()
{
read();
write();
return 0;
}
void read()
{
ifstream fin("reconst.in");
fin >> n >> m;
int i1, i2, sm;
for (int i = 1; i <= m; ++i)
{
fin >> i1 >> i2 >> sm;
add(i1, i2, sm);
}
for (int i = n - 1; i >= 1; --i)
for (int j = i + 1; j <= t[i]; ++j)
s[i] -= s[j];
}
void write()
{
ofstream fout("reconst.out");
copy(s + 1, s + n + 1, ostream_iterator<int>(fout, " "));
}
void add(int a, int b, int sm)
{
if (t[a] == 0)
{
t[a] = b;
s[a] = sm;
}
else if (b > t[a])
add(t[a] + 1, b, sm - s[a]);
else if (t[a] > b)
add(b + 1, t[a], s[a] - sm);
}