#include <bits/stdc++.h>
using namespace std;
const int sz = 5e4+5;
const int inf = 1e9+7;
vector<pair<int, int>> g[sz];
vector<int> dis(sz, inf);
signed main(){
int k, n, m, q;
cin >> k >> n >> m >> q;
for(int i = 0; i < m; i++){
int u, v, w;
cin >> u >> v >> w;
g[v].push_back({u, w});
}
while (q--){
int u, v;
cin >> u >> v;
dis[u] = 0;
for(int i = u; i <= v; i++){
for(auto node: g[i]){
dis[i] = min(dis[i], dis[node.first] + node.second);
}
}
if(dis[v] == inf){
cout << -1 << endl;
}else {
cout << dis[v] << endl;
}
for(int i = u; i <= v; i++){
dis[i] = inf;
}
}
}
# | 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... |