| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1352410 | mariza | Equalmex (CEOI25_equalmex) | C++20 | 2094 ms | 2512 KiB |
#include <vector>
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define RANGE (r-l+1)
vector<int> solve(int n, vector<int>& v, int q, vector<pair<int,int>>& queries){
vector<int> all_ans;
for(auto query:queries){
ll l, r;
tie(l,r)=query;
ll a[RANGE];
set<ll> s;
for(ll i=l; i<=r; i++){
a[i-l]=v[i];
s.insert(a[i-l]);
}
ll mex=RANGE+1;
for(ll i=1; i<=RANGE; i++){
if(s.empty() || *s.begin()!=i){
mex=i;
break;
}
else s.erase(s.begin());
}
bool x[mex]={}, q=0;
ll c=0, ans=0;
for(ll i=0; i<RANGE; i++){
if(q==0){
if(a[i]<mex){
if(!x[a[i]]) c++;
x[a[i]]=1;
}
if(c==mex-1){
// cout<<i<<" ";
ans++;
q=1;
}
}
else{
if(a[i]<mex){
if(x[a[i]]) c--;
x[a[i]]=0;
}
if(c==0){
// cout<<i<<" ";
ans++;
q=0;
}
}
}
all_ans.push_back(ans);
}
return all_ans;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
