Cod sursa(job #917632)

Utilizator apopeid13Apopeid Alejandro apopeid13 Data 18 martie 2013 10:39:56
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
#define MAX_SIZE 50005
using namespace std;
ifstream f("distante.in");
ofstream g("distante.out");
int dist[MAX_SIZE];
int t,n,m,startnode;
int main ( void )
{
f>>t;
while(t -- )
{
f>>n>>m>>startnode;
bool ok=true;
for(int i(1); i<=n ; f>>dist[i++]);
if(dist[startnode])
ok=false;
while(m--)
{
int node1,node2,cost;
f>>node1>>node2>>cost;
if(dist[node1] > dist[node2]+ cost || dist[node2] > dist[node1] + cost)
ok=false;
}
if( ok == false )
g<<"NU\n";
else
g<<"DA\n";
}
f.close();
g.close();
return 0;
}