Submission #1353270

#TimeUsernameProblemLanguageResultExecution timeMemory
1353270nataliaaGlobal Warming (NOI13_gw)C++20
40 / 40
269 ms15984 KiB
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define sc second
int main(){
    int n;
    cin >> n;
    int a[n];
    pair<int, int> p[n];
    for(int i = 0; i < n; i++) {
        cin >> a[i];
        p[i].ff=a[i]; p[i].sc = i;
    }
    sort(p , p+n);
    reverse(p, p+n);
    int ok[n] = {};
    int cnt = 0;
    int mx = 0;
    for(int i = 0; i < n; i++) {
        int x = p[i].sc;
        ok[x] = 1;
        if(x!=0&&ok[x-1]==1&&x!=n-1&&ok[x+1]==1) cnt--;
        else if(x!=0&&ok[x-1]==0&&x!=n-1&&ok[x+1]==0) cnt++;
        else if(x==0&&n!=1){
            if(ok[x+1]==0) cnt++;
            
        }
        else if(x==n-1&&n!=1){
            if(ok[x-1]==0) cnt++;
        }
        if(i==n-1||p[i].ff!=p[i+1].ff) mx = max(mx, cnt);
    }
    cout << mx;
    
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...