Cod sursa(job #2311127)
Utilizator | Data | 2 ianuarie 2019 17:38:09 | |
---|---|---|---|
Problema | Distante | Scor | 40 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("distante.in");
ofstream out("distante.out");
const int DIM = 5e4 + 7;
int d[DIM];
void solve()
{
int n, m, st;
in >> n >> m >> st;
for(int i = 1; i <= n; i++)
in >> d[i];
if(d[st] != 0)
{
out << "NU\n";
return ;
}
while(m--)
{
int x, y, c;
in >> x >> y >> c;
if(d[x] + c < d[y] || d[y] + c < d[x])
{
out << "NU\n";
return ;
}
}
out << "DA\n";
return ;
}
int main()
{
int t;
in >> t;
while(t--)
solve();
}