Pagini recente » Cod sursa (job #116847) | Cod sursa (job #1574577) | Cod sursa (job #3005592) | Cod sursa (job #592471) | Cod sursa (job #1500782)
#include <fstream>
using namespace std;
ifstream fin("distante.in");
ofstream fout("distante.out");
const int N = 50005;
int main()
{
int n = 0, m = 0, start = 0, T = 0, a, b, c;
int dist[N];
bool ok = 0;
fin >> T;
while (T--)
{
ok = true;
fin >> n >> m >> start;
for (int i = 1; i <= n; i++)
fin >> dist[i];
if (dist[start]) ok = false;
for (int i = 1; i <= m; i++)
{
fin >> a >> b >> c;
if (dist[a] + c < dist[b] || dist[b] + c < dist[a]) ok = false;
}
if (ok) fout << "DA\n";
else fout << "NU\n";
}
return 0;
}