Cod sursa(job #3355024)

Utilizator AndreiRVAndrei AndreiRV Data 21 mai 2026 16:24:58
Problema Distante Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#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;
    
}