Submission #1853343


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#define fol(i,n) for(int i=0;i<n;i++)
#define pb push_back
typedef long long ll;
typedef pair<int,ll> P;
typedef vector<P> vip;

const int MAX_V=200000;
const ll INF=pow(10,17);
int V;
struct edge{int to,cost;};//Dijkstra
vector<edge> G[MAX_V];
bool used[MAX_V];
ll d[MAX_V];
void dijkstra(int s){
    priority_queue<P,vector<P>,greater<P> > que;
    fill(d,d+V+1,INF);
    d[s]=0;
    que.push(P(0,s));
    while(!que.empty()){
        P p = que.top();que.pop();
        int v = p.second;
        if(d[v]<p.first) continue;
        for(int i=0;i<G[v].size();i++){
            edge e = G[v][i];
            if(d[e.to]>d[v]+e.cost){
                d[e.to] = d[v] + e.cost;
                que.push(P(d[e.to],e.to));
            }
        }
    }
}
void solve(){
    cin>>V;
    int from;
    fol(i,V-1){
        edge t;
        cin >> from>>t.to>>t.cost;
        G[from].pb(t);
        swap(from,t.to);
        G[from].pb(t);
    }
    int q,k;
    cin>>q>>k;
    dijkstra(k);
    int x,y;
    fol(i,q){
        cin>>x>>y;
        cout <<d[x]+d[y]<<endl;
    }
}

int main(){
    solve();
    return 0;
}

Submission Info

Submission Time
Task D - Transit Tree Path
User ravie403
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1208 Byte
Status AC
Exec Time 350 ms
Memory 11764 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 31
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_1.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_2.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
Case Name Status Exec Time Memory
sample_01.txt AC 3 ms 4992 KB
sample_02.txt AC 3 ms 4992 KB
sample_03.txt AC 3 ms 4992 KB
subtask_1_1.txt AC 3 ms 4992 KB
subtask_1_10.txt AC 131 ms 5632 KB
subtask_1_11.txt AC 4 ms 4992 KB
subtask_1_12.txt AC 14 ms 4992 KB
subtask_1_13.txt AC 44 ms 5120 KB
subtask_1_14.txt AC 3 ms 4992 KB
subtask_1_15.txt AC 8 ms 5120 KB
subtask_1_16.txt AC 339 ms 10624 KB
subtask_1_17.txt AC 338 ms 10624 KB
subtask_1_18.txt AC 336 ms 10624 KB
subtask_1_19.txt AC 350 ms 10624 KB
subtask_1_2.txt AC 4 ms 4992 KB
subtask_1_20.txt AC 327 ms 10368 KB
subtask_1_21.txt AC 325 ms 10240 KB
subtask_1_22.txt AC 331 ms 10240 KB
subtask_1_23.txt AC 327 ms 10240 KB
subtask_1_24.txt AC 326 ms 11764 KB
subtask_1_25.txt AC 324 ms 11764 KB
subtask_1_26.txt AC 324 ms 11764 KB
subtask_1_27.txt AC 323 ms 11764 KB
subtask_1_28.txt AC 299 ms 10368 KB
subtask_1_3.txt AC 210 ms 8960 KB
subtask_1_4.txt AC 3 ms 4992 KB
subtask_1_5.txt AC 181 ms 6016 KB
subtask_1_6.txt AC 33 ms 5504 KB
subtask_1_7.txt AC 148 ms 5760 KB
subtask_1_8.txt AC 3 ms 4992 KB
subtask_1_9.txt AC 167 ms 9472 KB