Cod sursa(job #946875)
| Utilizator | Data | 6 mai 2013 08:25:26 | |
|---|---|---|---|
| Problema | Distante | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream f("distante.in"); ofstream g ("distante.out");
vector <int> data (50005);
int n, m, s, t;
int main ()
{ f >> t;
while (t--)
{ bool sol = 1;
f >> n >> m >> s;
for (int i = 1; i <= n; ++i) f >> data[i];
sol = data[s] ? 0 : 1;
for (int i = 0; i < m; ++i)
{ int x, y, c;
f >> x >> y >> c;
if (data[x] + c < data[y] || data[y] + c < data[x]) sol = 0;
}
g << (sol ? "DA" : "NU") << "\n";
}
g.close(); return 0;
}
