제출 #697180

#제출 시각아이디문제언어결과실행 시간메모리
697180kussssoBaloni (COCI15_baloni)C++17
100 / 100
781 ms96008 KiB
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const int N = 1e6 + 5;
int n;
int h[N];
int pop[N];
set<int> pos[N];

signed main() {
      ios_base::sync_with_stdio(0);
      cin.tie(0);
      cin >> n;
      for (int i = 1; i <= n; i++) {
            cin >> h[i];
            pos[h[i]].insert(i);
      }
      int ans = 0;
      for (int i = N - 1; i >= 1; i--) {
            for (auto p : pos[i]) {
                  ++ans;
                  int x = i - 1;
                  while (x > 0) {
                        auto it = pos[x].upper_bound(p);
                        if (it == pos[x].end()) break;
                        p = *it;
                        pos[x].erase(it);
                        x--;
                  }
            }
      }
      cout << ans;
      return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...