# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
260149 | 2020-08-09T11:45:04 Z | sckmd | Baloni (COCI15_baloni) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; #define MAXN 1000005 bool done[MAXN]; queue <int> ids[MAXN]; int h[MAXN]; void go(int height) { if(ids[height].empty())return ; int idx = ids[height].front(); ids[height].pop(); done[idx]=true; go(height-1); } int main() { ios_base::sync_with_stdio(false); int n; cin >> n; for(int i = 1; i <= n; i++) { cin >> h[i]; ids[h].push(i); } int ans = 0; for(int i = 1; i <= n; i++) { if(!done[i])go(h[i]),ans++; } cout << ans; return 0; }