Cod sursa(job #1322484)
Utilizator | Data | 20 ianuarie 2015 08:35:12 | |
---|---|---|---|
Problema | Distante | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include<fstream>
using namespace std;
int T,k,ok,D[50001],n,m,s,a,b,c,i;
int main()
{
freopen("distante.in","r",stdin);
freopen("distante.out","w",stdout);
scanf("%d", &T);
for(k=1;k<=T;++k)
{
ok=1;
scanf("%d %d %d", &n,&m,&s);
for(i=1;i<=n;++i)
scanf("%d", &D[i]);
for(i=1;i<=m;++i)
{
scanf("%d %d %d", &a,&b,&c);
if(D[a]+c<D[b]||D[b]+c<D[a]) ok=0;
}
if(D[s]!=0) ok=0;
if(ok) printf("DA \n");
else printf("NU \n");
}
return 0;
}