Cod sursa(job #1405195)
| Utilizator | Data | 28 martie 2015 22:17:29 | |
|---|---|---|---|
| Problema | Distante | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.72 kb |
#include <fstream>
using namespace std;
ifstream is("distante.in");
ofstream os("distante.out");
int n, m, t, s;
bool yep;
int D[50001];
int main()
{
is >> t;
while ( t-- )
{
is >> n >> m >> s;
for ( int i = 1; i <= n; ++i )
is >> D[i];
int x, y, cost;
yep = false;
for ( int i = 1; i <= m; ++i )
{
is >> x >> y >> cost;
if ( D[x] + cost < D[y] || D[y] + cost < D[x] )
yep = true;
}
if ( D[s] )
yep = true;
if ( yep )
os << "NU" << '\n';
else
os << "DA" << '\n';
}
is.close();
os.close();
return 0;
}
