Cod sursa(job #2033947)
Utilizator | Bogdan Pintilie bogdanpintilie19 | Data | 7 octombrie 2017 12:05:52 |
---|---|---|---|
Problema | Distante | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <bits/stdc++.h>
using namespace std;
int n,m, s, t;
int d[1000001];
int main()
{ int x, y, c, k;
ifstream fin("distante.in");
ofstream fout("distante.out");
fin >> t;
for(int i = 1; i <= t; i++)
{ k = 1;
fin >> n >> m >> s;
for(int j = 1; j <= n; j++)
fin >> d[j];
if(d[s] != 0) k = 0;
for(int l = 1; l <= m; l++)
{
fin >> x >> y >> c;
if(d[x] + c < d[y] || d[y] + c < d[x])
k = 0;
}
if(k == 0) fout << "NU" << "\n";
else fout << "DA" << "\n";
}
return 0;
}