同等の接頭辞

問題の意味:Pの最大値を求めるように同じ最小インデックスシーケンス及び間隔で配列B [1、P]内のすべてのセクション

i番目の要素をプッシュするときに単調なスタックは、要素の数、bは2つのスタック等しくない場合、i番目の要素スタックした後、スタックが単調増加するように、ポップ操作が必要な、維持しますすでに最大に達しました

私は、アナログスタックの配列を使用していました

 

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int a[600005],b[600005],a1[600005],b1[600005];
int main()
{
int i,j,m,n,s,w,k,k1,ma;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
scanf("%d",&b[i]);
k=k1=0;
ma=n;
for(i=0;i<n;i++)
{
while(k>0&&a[i]<a1[k-1])
k--;
while(k1>0&&b[i]<b1[k1-1])
k1--;
a1[k++]=a[i];
b1[k1++]=b[i];
if(k!=k1)
{
ma=i;
break;
}
}
printf("%d\n",ma);
}
return 0;
}

 

おすすめ

転載: www.cnblogs.com/zcb123456789/p/11279675.html