Cod sursa(job #1479587)

Utilizator vladrochianVlad Rochian vladrochian Data 31 august 2015 17:24:24
Problema Distante Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
using namespace std;

const int kMaxN = 50000;

ifstream fin("distante.in");
ofstream fout("distante.out");

int N, d[kMaxN + 5];

bool Check() {
  bool ans = true;
  int M, S;

  fin >> N >> M >> S;
  for (int i = 1; i <= N; ++i)
    fin >> d[i];

  if (d[S])
    ans = false;

  while (M--) {
    int a, b, c;
    fin >> a >> b >> c;
    if (d[a] + c < d[b] || d[b] + c < d[a])
      ans = false;
  }

  return ans;
}

int main() {
  int T;
  fin >> T;
  while (T--)
    if (Check())
      fout << "DA\n";
    else
      fout << "NU\n";
  return 0;
}