# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1111374 | Informatics271 | Drivers (BOI24_drivers) | C++17 | 4 ms | 8784 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <queue>
#include <vector>
#include <functional>
#include <algorithm>
using namespace std;
int N;
int M;
int U;
int X[200005];
int Y[200005];
int T[200005];
int D[200005];
int A[200005];
int B[200005];
int P[200005];
vector<pair<int, int>> E[200005];
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;
int main(){
cin >> N >> M >> U;
for (int i=0;i<M;i++) cin>>X[i]>>Y[i]>>T[i];
for (int i=0;i<U;i++) cin>>A[i]>>B[i]>>P[i];
for (int i=0;i<M;i++){
E[X[i]].push_back({T[i], Y[i]});
E[Y[i]].push_back({T[i], X[i]});
}
fill_n(D, N+5, 1<<30);
for (int i=0;i<U;i++){
pq.push({0, A[i]});
while (pq.size()){
int t=pq.top().first;
int a=pq.top().second;
pq.pop();
if (D[a]<=t) continue;
D[a]=t;
for (int i=0; i<E[a].size(); i++) pq.push({max(t,E[a][i].first),E[a][i].second});
}
if (D[B[i]]<(1<<30)&&D[B[i]]<P[i]) cout << "TAIP\n";
else cout << "NE\n";
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |