8910 2024. 02. 04 13:31:50 adam Síkság (55) cpp17 Időlimit túllépés 10/55 300ms 8136 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int length = 0;
    cin >> length;
    vector<int> terrain(length, 0);
    for (int i = 0; i < length; i++) {

        cin >> terrain[i];
    }
    int current_longest_length = 0;
    int current_longest_index = 0;
    int plain_length = 0;
    pair<int, int> possible(-1, -1);
    int first_other_index = 0; // this stores
    for (int i = 0; i < length; i++) {
        if (plain_length == 0) {
            plain_length++;
            possible.first = terrain[i];
            continue;
        } else if (possible.second == -1 && terrain[i] != possible.first && abs(terrain[i] - possible.first) <= 1) {
            first_other_index = i;
            possible.second = terrain[i];
            plain_length++;
            continue;
        } else if (terrain[i] == possible.first || terrain[i] == possible.second) {
            plain_length++;
            continue;
        } else {
            if (current_longest_length < plain_length) {
                current_longest_length = plain_length;
                current_longest_index = i - plain_length;
            }
            possible = pair(-1, -1);
            if (plain_length > 1) {
                i = first_other_index-1;
            }
            plain_length = 0;
        }
    }
    cout << current_longest_length << " " << current_longest_index + 1 << endl;

    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 10/55
1 Elfogadva 0/0 3ms 1812 KiB
2 Időlimit túllépés 0/0 279ms 2156 KiB
3 Hibás válasz 0/2 3ms 2364 KiB
4 Elfogadva 2/2 3ms 2512 KiB
5 Elfogadva 2/2 3ms 2576 KiB
6 Időlimit túllépés 0/2 298ms 2676 KiB
7 Elfogadva 3/3 3ms 2924 KiB
8 Időlimit túllépés 0/2 298ms 3268 KiB
9 Időlimit túllépés 0/3 268ms 3432 KiB
10 Időlimit túllépés 0/3 273ms 2980 KiB
11 Időlimit túllépés 0/3 268ms 3800 KiB
12 Hibás válasz 0/3 4ms 3908 KiB
13 Időlimit túllépés 0/3 300ms 4076 KiB
14 Elfogadva 3/3 20ms 5172 KiB
15 Időlimit túllépés 0/3 273ms 4588 KiB
16 Időlimit túllépés 0/3 282ms 5120 KiB
17 Időlimit túllépés 0/3 233ms 5720 KiB
18 Időlimit túllépés 0/3 268ms 6440 KiB
19 Időlimit túllépés 0/3 237ms 6948 KiB
20 Időlimit túllépés 0/3 256ms 7576 KiB
21 Időlimit túllépés 0/3 261ms 7536 KiB
22 Időlimit túllépés 0/3 252ms 8136 KiB