5609 2023. 08. 07 14:10:36 TomaSajt Völgy (100 pont) cpp17 Elfogadva 100/100 39ms 11068 KiB
#include <bits/stdc++.h>
using namespace std;

int n;

int solve(const vector<int>& heights) {
  int best_width = 0;
  vector<int> prev(n);
  prev[0] = -1;
  for (int i = 1; i < n; i++) {
    prev[i] = i - 1;
    while (prev[i] != -1 && heights[i] > heights[prev[i]]) prev[i] = prev[prev[i]];
    if (prev[i] != -1) best_width = max(best_width, i - prev[i]);
  }
  return best_width;
}

int main() {
  cin >> n;
  vector<int> heights(n);
  for (int& h : heights) cin >> h;
  int res1 = solve(heights);
  reverse(heights.begin(), heights.end());
  int res = max(res1, solve(heights));
  if (res < 2) {
    cout << -1;
    return 0;
  }
  cout << res;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 100/100
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 3ms 1940 KiB
3 Elfogadva 5/5 3ms 2084 KiB
4 Elfogadva 5/5 3ms 2332 KiB
5 Elfogadva 5/5 2ms 2384 KiB
6 Elfogadva 5/5 3ms 2636 KiB
7 Elfogadva 5/5 2ms 2756 KiB
8 Elfogadva 5/5 2ms 2756 KiB
9 Elfogadva 5/5 3ms 2896 KiB
10 Elfogadva 5/5 3ms 3112 KiB
11 Elfogadva 5/5 4ms 3252 KiB
12 Elfogadva 5/5 4ms 3480 KiB
13 Elfogadva 5/5 6ms 3688 KiB
14 Elfogadva 5/5 6ms 3968 KiB
15 Elfogadva 5/5 34ms 5840 KiB
16 Elfogadva 5/5 37ms 6568 KiB
17 Elfogadva 5/5 35ms 7172 KiB
18 Elfogadva 5/5 35ms 7636 KiB
19 Elfogadva 5/5 35ms 8456 KiB
20 Elfogadva 5/5 39ms 9180 KiB
21 Elfogadva 5/5 39ms 10068 KiB
22 Elfogadva 5/5 39ms 11068 KiB