Cod sursa(job #2543838)
| Utilizator | Data | 11 februarie 2020 16:25:39 | |
|---|---|---|---|
| Problema | Distante | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("distante.in");
ofstream out("distante.out");
int t,n,m,s,x,y,d[50005],k,c;
int main()
{
in>>t;
while(t--)
{
in>>n>>m>>s;
for(int i=1;i<=n;i++) in>>d[i];
k=1;
if(d[s]!=0) k=0;
for(int i=1;i<=m&&k>0;i++)
{
in>>x>>y>>c;
if(d[x]+c<d[y]) k=0;
if(d[y]+c<d[x]) k=0;
}
if(k) out<<"DA"<<'\n';
else out<<"NU"<<'\n';
}
return 0;
}
