Pagini recente »
Istoria paginii runda/2019-11-02-clasa-5-tema-11/clasament
|
Clasament 7b_tema8
|
Istoria paginii runda/osepi_oji_10_2022
|
Clasament 2017-04-22-pregatire-6
|
Cod sursă (job #708075)
Cod sursă (job
#708075)
#include <fstream>
#include <algorithm>
#include <vector>
#include <queue>
#define ll long long
#define pb push_back
#define pii pair<int, int>
#define x first
#define y second
using namespace std;
ifstream in("dragoni2.in");
ofstream out("dragoni2.out");
const int NMAX = 805;
const char nl = '\n';
const int INF = 1e9;
struct str{
int x, w, type;
};
int q, n, m, dmax = -INF, capacity[NMAX], f[NMAX];
vector<pii> v[NMAX];
/// x - node, y - weight
void dfs(int node){
f[node] = 1;
if(capacity[node] > dmax)
dmax = capacity[node];
for(auto i: v[node]){
if(!f[i.x] && i.y <= capacity[1])
dfs(i.x);
}
}
int main()
{
in >> q >> n >> m;
for(int i = 1; i <= n; ++i)
in >> capacity[i];
for(int i = 1; i <= m; ++i){
int a, b, c;
in >> a >> b >> c;
v[a].pb({b, c});
v[b].pb({a, c});
}
if(q == 1){
dfs(1);
out << dmax << nl;
}
return 0;
}