#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> h(n), a(n), b(n);
for(int i=0;i<n;i++)
cin >> h[i] >> a[i] >> b[i];
int ans[n][n];
memset(ans,-1,sizeof(ans));
for(int i=0;i<n;i++)
for(int j=i+1;j<n;j++)
if(j >= i + a[i] && j <= i + b[i] && i <= j - a[j] && i >= j - b[j])
ans[i][j] = abs(h[i]-h[j]);
for(int i=n-1;i--;)
for(int j=0;j<n;j++)
ans[i][j] = max(ans[i][j],ans[i+1][j]);
for(int i=0;i<n;i++)
for(int j=1;j<n;j++)
ans[i][j] = max(ans[i][j],ans[i][j-1]);
int q;
cin >> q;
while(q--) {
int l, r;
cin >> l >> r;
cout << ans[l-1][r-1] << "\n";
}
}
# | 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... |