Cod sursa(job #976266)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 22 iulie 2013 22:03:18
Problema Distante Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#include<vector>
#define NMAX 50000
#define oo 1<<30
using namespace std;
int solve();
int T,N,M,S,a,b,c,i;
int D[NMAX];
int main()
{
    freopen("distante.in","r",stdin);
    freopen("distante.out","w",stdout);
    scanf("%d",&T);
    for(;T;--T)
    {
        if(solve()==0) printf("NU\n");
        else printf("DA\n");
    }
    return 0;
}
int solve()
{
    int ok=1;
    scanf("%d%d%d",&N,&M,&S);
    for(i=1;i<=N;i++)
        scanf("%d",&D[i]);
    if(D[i]!=0) ok=0;
    for(;M;--M)
    {
        scanf("%d%d%d",&a,&b,&c);
        if(D[a]+c<D[b] || D[b]+c<D[a]) ok=0;
    }
    return ok;
}