Submission
Status:
[PPP][PPPP][PPP][PPPPPPP]
Score: 100
User: Whally
Problemset: ขั้นบันได
Language: cpp
Time: 1.226 second
Submitted On: 2025-04-14 14:10:47
#include <bits/stdc++.h>
using namespace std;
int h[50010], hu[100010], go[100010];
int main()
{
cin.tie(0)->sync_with_stdio(0);
int n,q,mx = -1e9;
cin >> n;
for (int i = 0; i < n ;i++){
cin >> h[i];
if (i){
int l = h[i-1];
int r = h[i];
if (r < l) swap(l,r);
for (int i = l+1; i < r; i++){
if (i%2) hu[i]++;
else go[i]++;
}
}
}
for (int i = 1; i <= 100000; i++){
hu[i] += hu[i-1];
go[i] += go[i-1];
}
cin >> q;
while (q--){
int l,r; cin >> l >> r;
cout << go[r] - go[l-1] << " " << hu[r] - hu[l-1] << "\n";
}
return 0;
}