Pagini recente » Monitorul de evaluare | Cod sursa (job #1831337) | Diferente pentru utilizator/sandyxp intre reviziile 11 si 10 | Cod sursa (job #1879380) | 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;
}