10383 | 2024. 04. 01 17:47:57 | MagyarKendeSZLG | Legtöbbször szomszédok (75 pont) | cpp17 | Elfogadva 75/75 | 13ms | 4952 KiB |
#include <bits/stdc++.h>
using namespace std;
constexpr int INF = 1e4 + 1;
int main() {
cin.tie(0), ios::sync_with_stdio(0);
int N, M;
cin >> N >> M;
M--;
vector<int> v(N);
for (int& x : v) cin >> x;
vector<array<int, 2>> befS({{INF, -1}}), aftS({{-INF, -1}});
for (int i = 0; i < M; i++) {
if (v[i] > v[M] && v[i] < befS.back()[0]) {
befS.back() = {v[i], i};
}
else if (v[i] < v[M] && v[i] > aftS.back()[0]) {
aftS.back() = {v[i], i};
}
}
for (int i = M + 1; i < N; i++) {
if (v[i] > v[M] && v[i] < befS.back()[0]) {
befS.push_back({v[i], i});
}
else if (v[i] < v[M] && v[i] > aftS.back()[0]) {
aftS.push_back({v[i], i});
}
}
befS.push_back({INF, N});
aftS.push_back({INF, N});
int p1 = -1, p1_i = -1;
for (int i = 0; i < size(befS) - 1; i++) {
if (befS[i][0] == INF) continue;
int val = befS[i + 1][1] - max(befS[i][1], M);
if (p1 < val) {
p1 = val;
p1_i = befS[i][1];
}
}
if (p1 == -1) {
cout << "-1\n";
} else {
cout << p1_i + 1 << " " << p1 << "\n";
}
int p2 = -1, p2_i = -1;
for (int i = 0; i < size(aftS) - 1; i++) {
if (abs(aftS[i][0]) == INF) continue;
int val = aftS[i + 1][1] - max(aftS[i][1], M);
if (p2 < val) {
p2 = val;
p2_i = aftS[i][1];
}
}
if (p2 == -1) {
cout << "-1";
} else {
cout << p2_i + 1 << " " << p2;
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 75/75 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1828 KiB | |||
2 | Elfogadva | 0/0 | 12ms | 2876 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2384 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2600 KiB | |||
5 | Elfogadva | 4/4 | 3ms | 2804 KiB | |||
6 | Elfogadva | 4/4 | 3ms | 3040 KiB | |||
7 | Elfogadva | 3/3 | 3ms | 3248 KiB | |||
8 | Elfogadva | 4/4 | 3ms | 3428 KiB | |||
9 | Elfogadva | 4/4 | 3ms | 3516 KiB | |||
10 | Elfogadva | 4/4 | 3ms | 3536 KiB | |||
11 | Elfogadva | 4/4 | 3ms | 3588 KiB | |||
12 | Elfogadva | 4/4 | 4ms | 3568 KiB | |||
13 | Elfogadva | 4/4 | 4ms | 3572 KiB | |||
14 | Elfogadva | 4/4 | 4ms | 3564 KiB | |||
15 | Elfogadva | 4/4 | 4ms | 3564 KiB | |||
16 | Elfogadva | 4/4 | 6ms | 3628 KiB | |||
17 | Elfogadva | 4/4 | 7ms | 3824 KiB | |||
18 | Elfogadva | 4/4 | 8ms | 3892 KiB | |||
19 | Elfogadva | 4/4 | 13ms | 4692 KiB | |||
20 | Elfogadva | 4/4 | 13ms | 4924 KiB | |||
21 | Elfogadva | 4/4 | 13ms | 4880 KiB | |||
22 | Elfogadva | 4/4 | 13ms | 4952 KiB |