#include<bits/stdc++.h>
using namespace std;
#define S second
#define F first
#define ll long long
//#define int long long
//#pragma GCC optimize("Ofast, unroll-loop")
//#pragma GCC target("avx,avx2")
#pragma GCC optimize("O3")
#define init(arr,val) memset(arr,val,sizeof arr)
const int inf=0x3f3f3f3f;
const ll inff=0x3f3f3f3f3f3f3f3f;
const int X=1000000007;
//const int X=998244353;
int a[100005], b[100005];
ll dp[100005];
int main(){
ios::sync_with_stdio(false), cin.tie(nullptr);
int n, t; cin >> n >> t;
for(int i=1 ; i<=n-1 ; i++){
int m; cin >> m;
cin >> a[i] >> b[i];
}
for(int i=1 ; i<n ; i++){
if(b[i-1]<=a[i]) dp[i+1]=dp[i]+(a[i]-b[i-1])+(b[i]-a[i]);
else dp[i+1]=dp[i]+(a[i]-b[i-1]+t)+(b[i]-a[i]);
//cout << "dp[" << i+1 << "]=" << dp[i+1] << '\n';
}
int q; cin >> q;
while(q--){
int l, r; cin >> l >> r;
cout << dp[r]-dp[l]-(t+a[l]-b[l-1])%t << '\n';
}
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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |