Cod sursa(job #2026823)

Utilizator PinkiePie1189Preoteasa Mircea-Costin PinkiePie1189 Data 25 septembrie 2017 09:47:18
Problema Distante Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<stdio.h>
#define MAXV 50000
FILE*fin,*fout;
int v[MAXV+1];
int main()
{
    fin=fopen("distante.in","r");
    fout=fopen("distante.out","w");
    int T;
    fscanf(fin,"%d",&T);
    for(int i=1; i<=T; i++)
    {
        int V,E,S;
        fscanf(fin,"%d%d%d",&V,&E,&S);
        for(int i=1; i<=V; i++)
        {
            fscanf(fin,"%d",&v[i]);
        }
        bool ok=1;
        for(int i=1; i<=E; i++)
        {
            int src,dst,cst;
            fscanf(fin,"%d%d%d",&src,&dst,&cst);
            if(v[src]+cst<v[dst] || v[dst]+cst < v[dst])
            {
                ok=0;
            }
        }
        fprintf(fout,"%s\n",ok?"DA":"NU");
    }
    fclose(fin);
    fclose(fout);
    return 0;
}