Pagini recente » Monitorul de evaluare | Cod sursa (job #2010589) | Istoria paginii utilizator/marcel1234 | Diferente pentru probleme-de-taietura intre reviziile 37 si 36 | Cod sursa (job #654364)
Cod sursa(job #654364)
# include <cstdio>
using namespace std;
int n, m, s, t, ok, x, y, c, cost[100005];
int main()
{int i, j;
freopen("distante.in","r",stdin);
freopen("distante.out","w",stdout);
scanf("%d",&t);
for (i = 1; i <= t ; i++)
{
scanf("%d%d%d",&n,&m,&s);
for (j = 1; j <= n; j++)
scanf("%d",&cost[j]);
ok = 1;
if (cost[s]) ok = 0;
for (j = 1; j <= m; j++)
{
scanf("%d%d%d",&x,&y,&c);
if (cost[x] + c < cost[y] || cost[y] + c < cost[x]) ok = 0;
}
if (ok) printf("DA\n");
else printf("NU\n");
}
}