Pagini recente » Cod sursa (job #2830469) | Cod sursa (job #645349) | Cod sursa (job #3312767) | Cod sursa (job #3248845) | Cod sursa (job #3355024)
#include <iostream>
#include <vector>
#include <queue>
#include <tuple>
#include <fstream>
using namespace std;
ifstream fin("distante.in");
ofstream fout("distante.out");
int main() {
int T;
fin >> T;
for (int i = 0; i < T; i++)
{
int n,m,s;
bool corect = true;
fin>>n>>m>>s;
vector<int> d;
for (int i = 0; i < n; i++)
{
int a;
fin>>a;
d.push_back(a);
}
int count_zero = 0;
for (int i = 0; i < m; i++)
{
int n1,n2,cost;
fin >> n1 >> n2 >> cost;
n1 -= 1;
n2 -= 1;
if(cost == 0)
count_zero++;
if(d[n2] > d[n1] + cost || d[n1] > d[n2] + cost) {
corect = false;
}
}
if(count_zero != 1) corect = false;
fout<<((corect)?"DA\n":"NU\n");
}
return 0;
}