| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 873530 | dsyz | Sightseeing (NOI14_sightseeing) | C++17 | 1773 ms | 262144 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 <bits/stdc++.h>
using namespace std;
using ll = long long;
#define MAXN (500005)
ll V,E,Q;
ll parent[MAXN];
ll dist[MAXN];
int visited[MAXN];
vector<pair<ll,pair<ll,ll>>> v;
vector<pair<ll,pair<ll,ll>>> A;
vector<pair<ll,ll>> NODE[MAXN];
long long find_set(ll x){
if(parent[x] == x) return x;
parent[x] = find_set(parent[x]);
return parent[x];
}
void dfs(ll x){
visited[x] = 1;
for(auto u : NODE[x]){
if(visited[u.second] == 0){
if(dist[x] == 0){
if(dist[u.second] == 0 || dist[u.second] > u.first){
dist[u.second] = u.first;
visited[u.second] = 1;
dfs(u.second);
}
}else{
if(dist[u.second] == 0 || (dist[u.second] < dist[x]) || dist[u.second] < u.first){
dist[u.second] = min(dist[x],u.first);
visited[u.second] = 1;
dfs(u.second);
}
}
}
}
}
int main() {
ios_base::sync_with_stdio(false);cin.tie(0);
cin>>V>>E>>Q;
for(ll i = 0;i < E;i++){
ll a,b,c;
cin>>a>>b>>c;
v.push_back(make_pair(c,make_pair(a - 1,b - 1)));
}
for(ll i = 0;i < V;i++){
parent[i] = i;
}
sort(v.begin(),v.end(),greater<pair<ll,pair<ll,ll>>>());
for(auto u : v){
ll a = u.second.first;
ll b = u.second.second;
if(find_set(a) == find_set(b)){
continue;
}
parent[find_set(a)] = find_set(b);
A.push_back(u);
}
for(ll i = 0;i < A.size();i++){
NODE[A[i].second.first].push_back(make_pair(A[i].first,A[i].second.second));
NODE[A[i].second.second].push_back(make_pair(A[i].first,A[i].second.first));
}
dist[0] = 0;
visited[0] = 1;
dfs(0);
for(ll i = 0;i < Q;i++){
ll a;
cin>>a;
cout<<dist[a - 1]<<'\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... | ||||
