Pagini recente » Cod sursa (job #835470) | Cod sursa (job #2461090) | Cod sursa (job #640129) | Cod sursa (job #247570) | Cod sursa (job #1021794)
#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 && ok; ++i)
{
f >> a >> b >> c;
if(D[a] + c < D[b] || D[b] + c < D[a])
ok = 0;
}
if(D[S] || !ok) g << "NU\n";
else g << "DA\n";
}
g.close();
return 0;
}