# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
336325 | beepbeepsheep | Global Warming (NOI13_gw) | C++17 | 214 ms | 34132 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll bignum=1e17;
const int inf= 2e9;
const int mod= 1e9+7;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll ele,n;
cin>>n;
vector<ll> arr;
ll prev=-1;
for (int i=0;i<n;i++){
cin>>ele;
if (ele!=prev){
arr.push_back(ele);
}
prev=ele;
}
if (arr.size()==1){
cout<<1;
return 0;
}
vector<pair<ll,ll>> v;
for (int i=1;i<arr.size()-1;i++){
if (arr[i]>arr[i-1] && arr[i]>arr[i+1]){
v.push_back(make_pair(arr[i],1));
}
if (arr[i]<arr[i-1] && arr[i]<arr[i+1]){
v.push_back(make_pair(arr[i],-1));
}
}
if (arr[0]>arr[1]) v.push_back(make_pair(arr[0],1));
if (arr[arr.size()-1]>arr[arr.size()-2]) v.push_back(make_pair(arr[arr.size()-1],1));
sort(v.rbegin(),v.rend());
ll ans=0,curr=0;
for (int i=0;i<v.size();i++){
curr+=v[i].second;
if (i!=v.size()-1 && v[i+1].first==v[i].first) continue;
ans=max(curr,ans);
}
cout<<ans;
return 0;
}
Compilation message (stderr)
# | 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... |