Cod sursa(job #2651178)

Utilizator anabatAna Batrineanu anabat Data 21 septembrie 2020 18:22:28
Problema Distante Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>

using namespace std;

#define NMAX 50000
long long dist[NMAX+1];

int main()
{
  FILE *fin,*fout;
  fin=fopen("distante.in","r");
  fout=fopen("distante.out","w");

  int T,n,m,sursa,x,y,z,i,j,OK;
  fscanf(fin,"%d",&T);
  for(i=1;i<=T;i++){
    OK=0;
    fscanf(fin,"%d%d%d",&n,&m,&sursa);
    for(j=1;j<=n;j++){
      fscanf(fin,"%d",&dist[j]);
    }
    for(j=1;j<=m;j++){
      fscanf(fin,"%d%d%d",&x,&y,&z);
      if(dist[sursa]!=0||(dist[x]+z<dist[y])||(dist[y]+z<dist[x]))
        OK=1;
    }
    if(OK==0)
      fprintf(fout,"DA\n");
    else
      fprintf(fout,"NU\n");
  }

  fclose(fin);
  fclose(fout);
}