Pagini recente » Cod sursa (job #1415650) | Cod sursa (job #1803233) | Cod sursa (job #2308463) | Cod sursa (job #2418409) | 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;
}