贪心做法
#include<iostream>
using namespace std;
int main()
{
int n,q;
cin>>n;
int d[n+1];
for(int i=1;i<=n;i++)
{
cin>>d[i];
}
cin>>q;
while(q--)
{
int k,i=1,sum=0;
cin>>k;
while(i<n)
{
if(i+k>=n)
{
if(d[n]>=d[i])
{
sum++;
}
i=n;
}
else
{
bool flag=1;
for(int j=i+k;j>i;j--)
{
if(d[j]<d[i])
{
flag=0;
i=j;
break;
}
}
if(flag)
{
int maxn=0,m;
for(int j=i;j<=i+k;j++)
{
if(maxn<=d[j])
{
maxn=d[j];
m=j;
}
}
sum++;
i=m;
}
}
}
cout<<sum<<endl;
}
return 0;
}