Pagini recente » Cod sursa (job #2356201) | Cod sursa (job #1765978) | Cod sursa (job #2713074) | Cod sursa (job #1069593) | Cod sursa (job #1464370)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("distante.in");
ofstream fout("distante.out");
int t;
int n, m, nod;
int x, y, z;
vector<int>d;
int main()
{
fin >> t;
while(t--)
{
bool ok = true;
fin >> n >> m >> nod;
d.resize(n + 1);
for ( int i = 1; i <= n; ++i )
fin >> d[i];
if ( d[nod] > 0 )
ok = false;
for ( int i = 1; i <= m; ++i )
{
fin >> x >> y >> z;
if ( d[x] > d[y] + z )
ok = false;
if ( d[y] > d[x] + z )
ok = false;
}
if ( ok )
fout << "DA\n";
else
fout << "NU\n";
}
fin.close();
fout.close();
return 0;
}