Cod sursa(job #880283)
| Utilizator | Data | 16 februarie 2013 16:12:29 | |
|---|---|---|---|
| Problema | Distante | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.81 kb |
#include<cstdio>
#include<fstream>
#define MAX 50001
using namespace std;
int T, N , M , S , d[MAX];
bool sw ;
int main()
{
int x , y , c;
ifstream f("distante.in");
ofstream g("distante.out");
f>>T;
for( int i = 1 ; i<= T ; ++i )
{
sw = 1;
f>>N>>M>>S;
for( int j = 1 ; j<= N ; ++j)
f>>d[j];
if(d[S])sw = 0;
for( int j = 1 ; j <= M ; ++j )
{
f>>x>>y>>c;
if(d[x]+c<d[y])sw = 0;
}
if(sw)g<<"DA\n";
else g<<"NU\n";
}
g.close();
f.close();
return 0;
}
