Pagini recente » Cod sursa (job #622518) | Cod sursa (job #2557470) | Cod sursa (job #1575204) | Cod sursa (job #83817) | Cod sursa (job #1435272)
#include <fstream>
#include <string>
#define DIM 8192
using namespace std;
ifstream fin ("distante.in");
ofstream fout ("distante.out");
int T, N, M, S, Dist[50010];
char P[DIM + 16], *now;
string Sol;
int Get();
void Verif();
int main()
{
now = P;
Verif();
T = Get();
while (T--)
{
Verif();
N = Get(); M = Get(); S = Get();
for (int i = 1; i <= N; i++) { Dist[i] = Get(); }
Sol = "DA\n";
for (int i = 1, x, y, c; i <= M; i++) {
x = Get(); y = Get(); c = Get();
if (Dist[x] + c < Dist[y] || Dist[y] + c < Dist[x]) { Sol = "NU\n"; }
}
fout << Sol;
}
return 0;
}
inline void Verif()
{
if (*now == '\0')
{
fin.get(P, DIM, '\0');
now = P;
}
}
inline int Get()
{
while (*now < '0' || *now > '9') {
now++;
Verif();
}
int number = 0;
while (*now >= '0' && *now <= '9') {
number = number * 10 + *now - '0';
now++;
Verif();
}
return number;
}