Submission #519758

#TimeUsernameProblemLanguageResultExecution timeMemory
519758SiddhantAttavarPoklon (COCI17_poklon)C++14
56 / 140
5088 ms8040 KiB
#include <bits/stdc++.h>
using namespace std;
template<typename T> inline void input(T& inVar) {cin >> inVar;}
template<typename T, typename... S> inline void input(T& inVar, S&... args) {cin >> inVar; input(args ...);}
template<typename T> inline void print(T outVar) {cout << outVar << endl;}
template<typename T, typename... S> inline void print(T outVar, S... args) {cout << outVar << ' '; print(args ...);}
#define range(it, start, end) for (int it = start; it < end; it++)
#define arrPut(var) for (auto &inVar : var) {cin >> inVar;}
#define arrPrint(var) for (auto outVar : var) {cout << outVar << ' ';} cout << endl
#define setup() ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
#define int long long

int32_t main() {
	setup();

	int n, q;
	input(n, q);
	
	map<int, vector<int>> m;
	range(i, 0, n) {
		int x;
		input(x);
		m[x].push_back(i);
	}

	while (q--) {
		int l, r;
		input(l, r);
		l--;
		r--;

		int res = 0;
		for (pair<int, vector<int>> p : m) {
			vector<int> v = p.second;
			int x = lower_bound(v.begin(), v.end(), l) - v.begin();
			int y = upper_bound(v.begin(), v.end(), r) - v.begin();
			
			if (y - x == 2) {
				res++;
			}
		}

		print(res);
	}
}

#Verdict Execution timeMemoryGrader output
Fetching results...