#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main(){
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int n;
cin>>n;
vector<int>nums;
long long one = 1;
for(int i = 0;i<n;i++){
int a;
cin>>a;
nums.push_back(a);
}
vector<int>org = nums;
int length = 0;
int res = 0;
for(int i = 0;i<n;i++){
vector<int>nw;
nw.insert(nw.end(),nums.begin()+1,nums.end());
nw.push_back(nums[0]);
nums = nw;
length = 0;
vector<int>ans;
for(int j = 0;j<n;j++){
if(ans.size()==0){
ans.push_back(nw[j]);
length++;
}
if(ans.size()!=0){
if(nw[j]>ans[ans.size()-1]){
ans.push_back(nw[j]);
length++;
}
}
}
res = max(res,length);
}
nums = org;
for(int i = 0;i<n;i++){
vector<int>nw;
nw.push_back(nums[n-1]);
length = 0;
nw.insert(nw.end(),nums.begin(),nums.end()-1);
nw.push_back(nums[0]);
nums = nw;
vector<int>ans;
for(int j = 0;j<n;j++){
if(ans.size()==0){
ans.push_back(nw[j]);
length++;
}
if(ans.size()!=0){
if(nw[j]>ans[ans.size()-1]){
ans.push_back(nw[j]);
length++;
}
}
}
res = max(res,length);
}
cout<<res<<endl;
//1723729
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | #include <bits/stdc++.h> using namespace std; #define int long long int32_t main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); int n; cin>>n; vector<int>nums; long long one = 1; for(int i = 0;i<n;i++){ int a; cin>>a; nums.push_back(a); } vector<int>org = nums; int length = 0; int res = 0; for(int i = 0;i<n;i++){ vector<int>nw; nw.insert(nw.end(),nums.begin()+1,nums.end()); nw.push_back(nums[0]); nums = nw; length = 0; vector<int>ans; for(int j = 0;j<n;j++){ if(ans.size()==0){ ans.push_back(nw[j]); length++; } if(ans.size()!=0){ if(nw[j]>ans[ans.size()-1]){ ans.push_back(nw[j]); length++; } } } res = max(res,length); } nums = org; for(int i = 0;i<n;i++){ vector<int>nw; nw.push_back(nums[n-1]); length = 0; nw.insert(nw.end(),nums.begin(),nums.end()-1); nw.push_back(nums[0]); nums = nw; vector<int>ans; for(int j = 0;j<n;j++){ if(ans.size()==0){ ans.push_back(nw[j]); length++; } if(ans.size()!=0){ if(nw[j]>ans[ans.size()-1]){ ans.push_back(nw[j]); length++; } } } res = max(res,length); } cout<<res<<endl; //1723729 return 0; } |
English