Submission #1314660

#TimeUsernameProblemLanguageResultExecution timeMemory
1314660joshjuiceGlobal Warming (NOI13_gw)C++20
40 / 40
162 ms9024 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
  ios::sync_with_stdio(0); cin.tie(0);
  int n; cin >> n;
  vector<pair<int, int>> h(n); 
  for (int i = 0; i < n; ++i) {
    cin >> h[i].first;
    h[i].second = i;
  }
  sort(h.rbegin(), h.rend());
  vector<char> v(n);
  int islandcur = 0, ans = 0;
  for (int i = 0; i < n; ) {
    int j = i;
    while (j < n && h[j].first == h[i].first) {
      int idx = h[j].second;
      bool l = (idx > 0 && v[idx - 1]);
      bool r = (idx + 1 < n && v[idx + 1]);
      if (!l && !r) islandcur++;
      else if (l && r) islandcur--;
      v[idx] = 1;
      ++j;
    }
    ans = max(ans, islandcur);
    i = j;
  }
  cout << ans << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...