Pagini recente » Borderou de evaluare (job #1330352) | Cod sursa (job #1322405) | Borderou de evaluare (job #2018085) | Cod sursa (job #2966221) | Cod sursa (job #1021800)
#include <fstream>
#include <queue>
#define in "distante.in"
#define out"distante.out"
#define Max_Size 500009
std :: ifstream f(in);
std :: ofstream g(out);
int T, N, M, S;
int D[Max_Size];
int main()
{
int a, b, c;
f >> T;
while(T --)
{
bool ok = 1;
f >> N >> M >> S;
for(int i = 1; i <= N; ++i) f >> D[i];
for(int i = 1; i <= M; ++i)
{
f >> a >> b >> c;
if(D[a] + c < D[b] || D[b] + c < D[a])
ok = 0;
}
if(D[S]) ok = 0;
if(ok) g << "DA\n";
else g << "NU\n";
}
g.close();
return 0;
}