Submission

Status:
[PPP][PPPP][PPP][PPPPPPP]

Score: 100

User: mydKN

Problemset: ขั้นบันได

Language: cpp

Time: 1.209 second

Submitted On: 2024-12-03 23:32:50

#include<bits/stdc++.h>

using namespace std;

const int maxn = 5e4 + 5;
const int maxr = 1e5 + 5;

int n, q;
int arr[maxn];
int odd[maxr];
int even[maxr];

int main(){
	ios_base::sync_with_stdio(0);cin.tie(0);
	cin >> n;
	cin >> arr[0];
	for(int i=1;i<n;++i){
		cin >> arr[i];
		for(int j=min(arr[i-1], arr[i])+1;j<max(arr[i-1], arr[i]);++j){
			if(j%2==0) ++even[j];
			else ++odd[j];
		}
	}
	for(int i=1;i<maxr;++i){
		even[i] += even[i-1];
		odd[i] += odd[i-1];
	}
	cin >> q;
	for(int i=0;i<q;++i){
		int s, e;
		cin >> s >> e;
		cout << even[e] - even[s-1] << " " << odd[e] - odd[s-1] << "\n";
	}
}