#include<bits/stdc++.h>
#define fi first
#define se second
#define int long long
using namespace std;
using ll = long long;
using ii = pair<ll, ll>;
using aa = array<int,5>;
const int N = 1e5+5;
const int INF = 1e9;
const int MOD = 1e9+7;
vector<ii> adj[N];
int dp[N];
signed main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int k,n,m,q;
cin >> k >> n >> m >> q;
for(int i=1;i<=m;i++) {
int u,v,w;
cin >> u >> v >> w;
adj[v].push_back({u,w});
}
for(int i=0;i<n;i++) {
dp[i]=1e9;
}
while(q--) {
int l,r;
cin >> l >> r;
dp[l]=0;
for(int i=l;i<=r;i++) {
for(ii v:adj[i]) {
dp[i]=min(dp[i],dp[v.fi]+v.se);
}
}
if(dp[r]==1e9) {
cout << -1 << '\n';
}
else {
cout << dp[r] << '\n';
}
for(int i=l;i<=r;i++) dp[i]=1e9;
}
return 0;
}
/*
██╗░░██╗██╗░░██╗░█████╗░███╗░░██╗░██████╗░ ░██████╗██╗██╗░░░██╗ ░█████╗░██╗░░░██╗████████╗███████╗
██║░██╔╝██║░░██║██╔══██╗████╗░██║██╔════╝░ ██╔════╝██║██║░░░██║ ██╔══██╗██║░░░██║╚══██╔══╝██╔════╝
█████═╝░███████║███████║██╔██╗██║██║░░██╗░ ╚█████╗░██║██║░░░██║ ██║░░╚═╝██║░░░██║░░░██║░░░█████╗░░
██╔═██╗░██╔══██║██╔══██║██║╚████║██║░░╚██╗ ░╚═══██╗██║██║░░░██║ ██║░░██╗██║░░░██║░░░██║░░░██╔══╝░░
██║░╚██╗██║░░██║██║░░██║██║░╚███║╚██████╔╝ ██████╔╝██║╚██████╔╝ ╚█████╔╝╚██████╔╝░░░██║░░░███████╗
╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚═╝╚═╝░░╚══╝░╚═════╝░ ╚═════╝░╚═╝░╚═════╝░ ░╚════╝░░╚═════╝░░░░╚═╝░░░╚══════╝
*/
# | 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... |