Pagini recente » Diferente pentru blog/finala-algoritmiada-2017 intre reviziile 6 si 7 | Diferente pentru onis-2014/clasament-final intre reviziile 42 si 43 | Statistici Radu Andreea Eliza (andreea_eliza_8) | Borderou de evaluare (job #2205466) | Cod sursa (job #2627118)
#include <bits/stdc++.h>
using namespace std;
ifstream f("distante.in");
ofstream g("distante.out");
const int N=50010;
int t,n,m,s,x,y,c,d[N];
int main()
{
f>>t;
for(;t;t--)
{ bool da=true;
f>>n>>m>>s;
for(int i=1;i<=n;i++)
f>>d[i];
if(d[s]!=0)
da=false;
for(;m;m--)
{
f>>x>>y>>c;
if(d[x]>d[y]+c||d[y]>d[x]+c)
da=false;
}
if(da==false)
g<<"NU"<<'\n';
else
g<<"DA"<<'\n';
} return 0;
}