Pagini recente » Cod sursa (job #1922720) | Cod sursa (job #967237) | Cod sursa (job #1429581) | Cod sursa (job #3277304) | Cod sursa (job #161355)
Cod sursa(job #161355)
/*
ID: alexthe1
TASK: cowjog
LANG: C++
*/
#include <stdio.h>
#include <algorithm>
#include <set>
#include <vector>
#define nmax 1505
#define pb push_back
using namespace std;
typedef pair<int, int> ii;
int n, m, k, l, n1, n2, cs, vec, cost;
vector <ii> e[nmax];
multiset <int> s[nmax];
multiset <int> :: iterator it;
int main()
{
freopen("pitici.in", "r", stdin);
freopen("pitici.out", "w", stdout);
scanf("%d%d%d", &n, &m, &k);
for(int i = 1; i <= m; i++)
{
scanf("%d%d%d", &n1, &n2, &cs);
e[n2].pb(ii(n1, cs));
}
s[n].insert(0);
for(int i = n; i >= 1; i--)
for(int j = 0; j < (int)e[i].size(); j++)
{
vec = e[i][j].first, cost = e[i][j].second;
for(it = s[i].begin(), l = 1; it != s[i].end() && l <= k; ++it, ++l)
s[vec].insert(*it + cost);
}
for(it = s[1].begin(), l = 1; it != s[1].end() && l <= k; ++it, ++l) printf("%d ", *it);
for(int i = l; i <= k; i++) printf("-1\n");
return 0;
}