Pagini recente » Monitorul de evaluare | Cod sursa (job #2214747)
#include <bits/stdc++.h>
using namespace std;
ifstream in("distante.in");
ofstream out("distante.out");
int d[50005];
int main() {
int teste;
in >> teste;
while (teste --) {
int n, m, nod;
in >> n >> m >> nod;
bool flag = 1;
for(int i = 1; i <= n; i ++) in >> d[i];
if(d[nod] != 0)
flag = 0;
for(int i = 1; i <= m; i ++) {
int a, b, c;
in >> a >> b >> c;
if(d[a] + c < d[b] || d[b] + c < d[a])
flag = 0;
}
if(flag == 1)
out << "DA\n";
else
out << "NU\n";
}
return 0;
}