Submission #1351448

#TimeUsernameProblemLanguageResultExecution timeMemory
1351448madamadam3Equalmex (CEOI25_equalmex)C++20
27 / 100
2096 ms2092 KiB
#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;
using vvi = vector<vi>;
using pi = pair<int, int>;
using vpi = vector<pi>;

template<class T> bool chmin(T& a, const T& b) {return b < a ? a = b, 1 : 0;}
template<class T> bool chmax(T& a, const T& b) {return a < b ? a = b, 1 : 0;}

#define bg(x) (x).begin()
#define en(x) (x).end()
#define all(x) bg(x), en(x)
#define rep(i, a, b) for (int i = a; i < b; i++)
#define rev(i, a, b) for (int i = a; i >= b; i--)
#define sz(x) int((x).size())

#ifdef LOCAL
	#define dbg(x) cerr << #x << " = " << x << "\n"
#else
	#define dbg(x)
#endif

vi solve(int n, vi& v, int q, vpi& queries) {
	vi ans;

	for (auto &[l, r] : queries) {
		set<int> x; rep(i, l, r+1) x.insert(v[i]);
		int mex = 1; while (x.count(mex)) mex++;

		int u = 0;
		set<int> y; int cmex = 1;
		rep(i, l, r+1) {
			y.insert(v[i]);
			while (y.count(cmex)) cmex++;

			if (cmex == mex) {
				u++; y.clear(); cmex = 1;
			}
		}
		ans.push_back(u);
	}

	return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...