結果
問題 |
No.1188 レベルX門松列
|
ユーザー |
![]() |
提出日時 | 2020-08-22 14:59:16 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 995 bytes |
コンパイル時間 | 2,736 ms |
コンパイル使用メモリ | 195,924 KB |
最終ジャッジ日時 | 2025-01-13 09:02:54 |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 7 WA * 14 |
ソースコード
#define rep(i, n) for (int i = 0; i < (int)(n); i++) #define ALL(v) v.begin(), v.end() typedef long long ll; #include <bits/stdc++.h> using namespace std; int main() { ll n; cin>>n; vector<ll> A(n); rep(i,n) cin>>A[i]; if(n==1 || n==2){ cout<<0<<endl; return 0; } vector<ll> B; int x=0,cnt=0; if(A[0]<A[1]){ x=1; cnt=1; } else if(A[0]>A[1]){ x=-1; cnt=1; } for(int i=2;i<=n;i++){ if(x==1 && A[i-1]<A[i]) cnt++; else if((x==1 || x==-1) && A[i-1]==A[i]){ B.push_back(cnt); x=0; cnt=0; } else if(x==-1 && A[i-1]>A[i]) cnt++; else if(A[i-1]<A[i]){ B.push_back(cnt); cnt=1; x=1; } else if(A[i-1]>A[i]){ B.push_back(cnt); cnt=1; x=-1; } B.push_back(cnt); } int ma=0; int k=B.size(); if(k<2) cout<<0<<endl; else{ for(int i=0;i<k-1;i++){ int t=min(B[i],B[i+1]); ma=max(ma,t); } cout<<ma<<endl; } return 0; }