记录编号 |
335765 |
评测结果 |
AAAAAAAATA |
题目名称 |
[NOIP 2010冲刺十二]奶牛排队 |
最终得分 |
90 |
用户昵称 |
安呐一条小咸鱼。 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
1.225 s |
提交时间 |
2016-11-02 17:52:36 |
内存使用 |
1.44 MiB |
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=100005;
int n,a[maxn],L[maxn],st[maxn],cnt=0,ans=0;
void Rabit_max(int &x,int y){if(x<y)x=y;}
void Rabit_main(){
scanf("%d",&n);int i,j;
for(i=1;i<=n;i++)scanf("%d",&a[i]);
for(i=1;i<=n;i++){
while(cnt&&a[st[cnt]]<a[i])cnt--;
L[i]=st[cnt],st[++cnt]=i;
}
int R;
for(i=1;i<=n;){
for(R=j=i+1;j<=n&&a[j]>a[i];j++)
if(L[j]<i)R=j,Rabit_max(ans,j-i+1);
i=R;
//printf("%d %d %d\n",i,j-i+1,ans);
}
if(ans==1)ans--;
printf("%d\n",ans);
}
int main(){
// system("start tahort.out");
#define _Rabit _RABIT
#ifdef _Rabit
freopen("tahort.in","r",stdin);
freopen("tahort.out","w",stdout);
#endif
Rabit_main();
#ifndef _Rabit
getchar(),getchar();
#endif
fclose(stdin),fclose(stdout);
return 0;
}