제출 #532356

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
5323562022-03-02 18:19:47Alex_tz307Izbori (COCI22_izbori)C++17
110 / 110
142 ms6980 KiB
#include <bits/stdc++.h>
using namespace std;
const int kN = 1 << 18;
int a[kN];
int64_t ans, f[kN << 1];
bitset<kN> used;
void solve(int l, int r) {
if (l == r) {
++ans;
return;
}
int mid = (l + r) >> 1;
solve(l, mid);
solve(mid + 1, r);
vector<int> candidates;
for (int i = l; i <= r; ++i) {
f[a[i]] = 0;
used[a[i]] = false;
}
for (int i = mid; i >= l; --i) {
if (++f[a[i]] > (mid - i + 1) / 2 && !used[a[i]]) {
candidates.emplace_back(a[i]);
used[a[i]] = true;
}
}
for (int i = l; i <= mid; ++i) {
f[a[i]] = 0;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...