Pagini recente » Cod sursa (job #1925602) | Cod sursa (job #2968956) | Cod sursa (job #1259798) | Cod sursa (job #3130089) | Cod sursa (job #977313)
Cod sursa(job #977313)
#include <fstream>
#include <vector>
#include <queue>
#include <cstring>
#define In "distante.in"
#define Out "distante.out"
#define Nmax 50002
using namespace std;
ifstream in(In);
ofstream out(Out);
inline bool Read()
{
int X, Y, C, N, i, M, Source, D[Nmax];
bool ret = 1;
in>>N>>M>>Source;
for(i = 1; i <= N; ++i)
in>>D[i];
if(D[Source]!=0)
ret = 0;
for(; M ; --M)
{
in>>X>>Y>>C;
if(D[X]+C<D[Y] || D[Y] + C < D[X])
ret = 0;
}
return ret;
}
int main()
{
int T;
for(in>>T; T ; --T)
out<<(Read()?"DA\n":"NU\n");
in.close();
out.close();
return 0;
}