Submission #1221385

#TimeUsernameProblemLanguageResultExecution timeMemory
1221385PenguinsAreCuteTwo Antennas (JOI19_antennas)C++17
13 / 100
424 ms589824 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...