Pagini recente » Cod sursa (job #2233562) | Cod sursa (job #936684) | Cod sursa (job #1145224) | Cod sursa (job #559312) | Cod sursa (job #918588)
Cod sursa(job #918588)
#include <iostream>
#include <fstream>
using namespace std;
#define Nmax 50001
char InFile[] = { "distante.in" };
char OutFile[] = { "distante.out" };
int D[Nmax];
int N, M, T, S, a, b, c;
void rezolva(){
ifstream F(InFile);
ofstream G(OutFile);
F >> T;
for(; T; T--){
F >> N >> M >> S;
for ( int i = 1; i <= N; i++ )
F >> D[i];
bool VAL = true;
if ( D[S] )
VAL = false;
for(; M; M--){
F >> a >> b >> c;
if ( D[a] > D[b] + c || D[b] > D[a] + c )
VAL = false;
}
if ( VAL == true )
G << "DA\n";
else
G << "NU\n";
}
}
int main(){
rezolva();
return 0;
}