Cod sursa(job #1642389)
| Utilizator | Data | 9 martie 2016 13:53:25 | |
|---|---|---|---|
| Problema | Distante | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <iostream>
#include <fstream>
#define NMAX 50002
using namespace std;
ifstream f("distante.in");
ofstream g("distante.out"); int n,m,x,y,s,c,t,d[NMAX];bool ok; int main(){ f >> t; for(int k=1;k<=t;k++) { ok = true; f >> n >> m >> s; for(int i=1;i<=n;i++) f >> d[i]; if(d[s]!=0) ok = false; for(int i=1;i<=m;i++) { f >> x >> y >> c; if(d[y]>d[x]+c || d[x]>d[y]+c) ok = false; } if(ok) g << "DA" << "\n"; else g << "NU" << "\n"; } return 0;}
