이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define F first
#define S second
int ans = 0;
int n;
int v[1000005];
vector<pair<int,int> > cut;
int mark[1000005];
bool removed[1000005];
int main(){
cin>>n;
for(int i = 0 ; i < n;i++){
cin>>v[i];
mark[i] = 0;
cut.pb(pair<int,int> ( v[i] , i));
}
int maxi = 1;
sort(cut.begin() , cut.end());
for(int i = 0 ; i <n ;i ++){
maxi = max(maxi ,ans);
int u = cut[i].second;
removed[u] = true;
if(mark[u]) ans--;
if(u){
mark[u-1]++;
if(mark[u-1] == 1 && !removed[u-1])
ans++;
}
if(u < n - 1){
mark[u+1]++;
if(mark[u+1] == 1 && !removed[u+1]){
ans++;
}
}
maxi = max(maxi ,ans);
}
cout<<maxi<<endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |