| Task: | Kyselyt |
| Sender: | ollpu |
| Submission time: | 2025-10-19 23:19:11 +0300 |
| Language: | C++ (C++20) |
| Status: | COMPILE ERROR |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:22:9: error: conflicting declaration 'int l [q]'
22 | int l[q], g[q][K];
| ^
input/code.cpp:15:9: note: previous declaration as 'int l'
15 | int l = 0, cnt = 0;
| ^
input/code.cpp:23:9: error: conflicting declaration 'int cnt [q][24]'
23 | int cnt[q][K] {};
| ^~~
input/code.cpp:15:16: note: previous declaration as 'int cnt'
15 | int l = 0, cnt = 0;
| ^~~
input/code.cpp:29:10: error: invalid types 'int[int]' for array subscript
29 | l[i] = b-a+1;
| ^
input/code.cpp:41:20: error: invalid types 'int[std::tuple_element<0, std::pair<int, int> >::type {aka int}]' for array subscript
41 | cnt[qi][j] += c * z[g[qi][j]];
| ^
input/code.cpp:48:20: error: invalid types 'int[int]' for array subscript
48 | if (cnt[i][j] > l[i]/2) res = x[g[i][j]];
|...Code
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, q;
cin >> n >> q;
int x[n], y[n];
for (int i = 0; i < n; ++i) cin >> x[i];
pair<int, int> m[n];
for (int i = 0; i < n; ++i) {
m[i] = {x[i], i};
}
sort(m, m+n);
int l = 0, cnt = 0;
for (auto [v, i] : m) {
if (v != l) cnt++;
y[i] = cnt;
l = v;
}
const int K = 24;
int l[q], g[q][K];
int cnt[q][K] {};
vector<pair<int, int>> ev[n];
for (int i = 0; i < q; ++i) {
int a, b;
cin >> a >> b;
a--; b--;
l[i] = b-a+1;
if (a) ev[a-1].push_back({i, -1});
ev[b].push_back({i, 1});
for (int j = 0; j < K; ++j) {
g[i][j] = y[a+rand()%(b-a+1)];
}
}
int z[n] {};
for (int i = 0; i < n; ++i) {
z[y[i]]++;
for (auto [qi, c] : ev[i]) {
for (int j = 0; j < K; ++j) {
cnt[qi][j] += c * z[g[qi][j]];
}
}
}
for (int i = 0; i < q; ++i) {
int res = -1;
for (int j = 0; j < K; ++j) {
if (cnt[i][j] > l[i]/2) res = x[g[i][j]];
}
cout << res << "\n";
}
}
