#include<bits/stdc++.h> using namespace std; #define ll long long typedef pair<int,int> P; const int maxn=1e5+10; int a[maxn]; int n; int Left[maxn],Right[maxn]; void solve(){ // memset(Left,0,sizeof Left); // memset(Right,0,sizeof Right); scanf("%d",&n); for(int i=0;i<n;++i){ scanf("%d",&a[i]); } // int l=0,r; // while(l<n){ // for(r=l+1;r<n;++r){ // if(a[r]>=a[l]&&a[r]%a[l]==0){ // Right[l]++; // }else{ // l=r; // break; // } // } // if(r==n){ // break; // } // } // r=n-1; // while(r>=0){ // for(l=r-1;l>=0;--l){ // if(a[l]>=a[r]&&a[l]%a[r]==0){ // Left[r]++; // }else{ // r=l; // break; // } // } // if(l==-1){ // break; // } // } int ans=1; for(int i=0;i<n;++i){ // cout<<Left[i]<<" "<<Right[i]<<endl; int cnt=1; int l,r; for(r=i+1;r<n;++r){ if(a[r]>=a[i]&&a[r]%a[i]==0){ cnt++; }else break; } for(l=i-1;l>=0;--l){ if(a[l]>=a[i]&&a[l]%a[i]==0){ cnt++; }else break; } // cout<<l<<" "<<r<<endl; i=r-1; ans=max(ans,cnt); } printf("%d\n",ans); } int main(){ int T=1; // scanf("%d",&T); while(T--){ solve(); } return 0; }
全部评论
(1) 回帖