1876 | 2022. 12. 06 21:02:09 | kovacs.peter.18f | Síkság (55) | cpp11 | Elfogadva 55/55 | 16ms | 4656 KiB |
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main() {
cin.sync_with_stdio(false);
cin.tie(nullptr);
int N;
cin >> N;
vector<int> heightS(N);
map<int, int> countS;
int different = 0, max_begin = 0, max_end = 0;
for (int l = 0, r = 0; r < N; r++) { // zárt intervallum
cin >> heightS[r];
if (++countS[heightS[r]] == 1) {
++different;
}
while (different == 3) {
if (--countS[heightS[l]] == 0) {
--different;
countS.erase(heightS[l]);
}
++l;
}
if (abs(countS.begin()->first - countS.rbegin()->first) != 1) {
while (different == 2) {
if (--countS[heightS[l]] == 0) {
--different;
countS.erase(heightS[l]);
}
++l;
}
}
if (r - l > max_end - max_begin) {
max_begin = l;
max_end = r;
}
}
cout << max_end - max_begin + 1 << " " << max_begin + 1 << '\n';
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 55/55 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1824 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2236 KiB | |||
3 | Elfogadva | 2/2 | 2ms | 2264 KiB | |||
4 | Elfogadva | 2/2 | 2ms | 2432 KiB | |||
5 | Elfogadva | 2/2 | 2ms | 2632 KiB | |||
6 | Elfogadva | 2/2 | 2ms | 2704 KiB | |||
7 | Elfogadva | 3/3 | 2ms | 2940 KiB | |||
8 | Elfogadva | 2/2 | 2ms | 3048 KiB | |||
9 | Elfogadva | 3/3 | 2ms | 3252 KiB | |||
10 | Elfogadva | 3/3 | 3ms | 3360 KiB | |||
11 | Elfogadva | 3/3 | 3ms | 3364 KiB | |||
12 | Elfogadva | 3/3 | 3ms | 3364 KiB | |||
13 | Elfogadva | 3/3 | 14ms | 4008 KiB | |||
14 | Elfogadva | 3/3 | 10ms | 4136 KiB | |||
15 | Elfogadva | 3/3 | 13ms | 4340 KiB | |||
16 | Elfogadva | 3/3 | 14ms | 4460 KiB | |||
17 | Elfogadva | 3/3 | 14ms | 4536 KiB | |||
18 | Elfogadva | 3/3 | 16ms | 4616 KiB | |||
19 | Elfogadva | 3/3 | 14ms | 4544 KiB | |||
20 | Elfogadva | 3/3 | 14ms | 4500 KiB | |||
21 | Elfogadva | 3/3 | 8ms | 4320 KiB | |||
22 | Elfogadva | 3/3 | 10ms | 4656 KiB |