Cod sursa(job #2426890)
Utilizator | Miruna Zavelca mirunaz | Data | 29 mai 2019 21:04:59 |
---|---|---|---|
Problema | Distante | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <fstream>
using namespace std;
ifstream in ("distante.in");
ofstream out ("distante.out");
#define N 50010
int dist[N];
int main() {
int t;
in >> t;
while (t --) {
int n, m, s;
in >> n >> m >> s;
for (int i = 1; i <= n; i ++) {
in >> dist[i];
}
bool pp = true;
if (dist[s] != 0) {
pp = false;
}
while (m --) {
int a, b, c;
in >> a >> b >> c;
if (dist[a] + c < dist[b] || dist[b] + c < dist[a]) {
pp = false;
}
}
if (pp) {
out << "DA \n";
} else {
out << "NU \n";
}
}
return 0;
}