#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr int N = 1e6+5;
int n, a[N];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n;
priority_queue<pair<int,int>> pq;
for(int i = 0; i < n; i++) {
cin >> a[i];
pq.push(make_pair(a[i], i));
}
int c = 0;
vector<bool> vis(n, 0);
while(!pq.empty()) {
int pos = pq.top().second;
pq.pop();
if(vis[pos]) {
continue;
}
int cur = a[pos];
for(int i = pos; i < n; i++) {
if(!vis[i] && a[i] == cur) {
vis[i] = 1;
cur--;
}
}
c++;
}
cout << c;
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2 ms |
384 KB |
Output is correct |
2 |
Correct |
4 ms |
384 KB |
Output is correct |
3 |
Correct |
13 ms |
384 KB |
Output is correct |
4 |
Correct |
20 ms |
640 KB |
Output is correct |
5 |
Execution timed out |
2040 ms |
13404 KB |
Time limit exceeded |
6 |
Execution timed out |
2082 ms |
14420 KB |
Time limit exceeded |
7 |
Execution timed out |
2087 ms |
13028 KB |
Time limit exceeded |
8 |
Execution timed out |
2078 ms |
13028 KB |
Time limit exceeded |
9 |
Execution timed out |
2079 ms |
13156 KB |
Time limit exceeded |
10 |
Execution timed out |
2078 ms |
13024 KB |
Time limit exceeded |