Submission #714734

#TimeUsernameProblemLanguageResultExecution timeMemory
714734ajab_01Toll (BOI17_toll)C++17
0 / 100
35 ms5964 KiB
#include<bits/stdc++.h> using namespace std; const int N = 1e5 + 5; const int O = 3e3 + 3; vector<pair<int , int> > g[N] , query; int pre[N] , pr[N] , k , n , m , o; int main(){ ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); memset(pr , -1 , sizeof(pr)); cin >> k >> n >> m >> o; for(int i = 0 ; i < m ; i++){ int u , v , w; cin >> u >> v >> w; g[u].push_back({v , w}); g[v].push_back({u , w}); } for(int i = 0 ; i < o ; i++){ int a , b; cin >> a >> b; query.push_back({a , b}); } if(k == 1){ int bef = 0; for(int i = 0 ; i < n ; i++){ if(i == bef) pre[i] = 0; else pre[i] = pre[i - 1] + g[i - 1][0].second; pr[i] = bef; if(!g[i].size()){ while(!g[i].size())i++; bef = i; i--; } } for(auto i : query){ if(pr[i.first] == -1 || pr[i.second] == -1 || pr[i.first] != pr[i.second]) cout << -1 << '\n'; else cout << pre[i.first] - pre[i.second] << '\n'; } return 0; } cout << "jalebe" << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...