Cod sursa(job #883332)
| Utilizator | Data | 19 februarie 2013 22:05:54 | |
|---|---|---|---|
| Problema | Distante | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include<cstdio>
#define nmax 50010
using namespace std;
int n,m,s,t,OK,x,y,c,d[nmax],i;
int main()
{
freopen("distante.in","r",stdin);
freopen("distante.out","w",stdout);
scanf("%d ", &t);
for(;t;--t)
{
scanf("%d%d%d", &n, &m, &s);
OK=1;
for(i=1;i<=n;i++)
scanf("%d ", &d[i]);
if(d[s])OK=0;
for(;m;--m)
{
scanf("%d%d%d", &x, &y, &c);
if(d[x]+c<d[y])OK=0;
}
if(OK)printf("DA\n");
else printf("NU\n");
}
return 0;
}
