显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m;//总格子数和总靴子数
int jx[255],s[255],d[255];//每格的积雪深度,每双靴子可承受的积雪深度与每步格数
int now=1,xz=0,dq=1;//当前所在格子,已扔掉靴子数,当前穿着的靴子编号
int main()
{
freopen("snowboots_silver_18feb.in","r",stdin);
freopen("snowboots_silver_18feb.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++)
{
cin>>jx[i];
}
for(int i=1;i<=m;i++)
{
cin>>s[i]>>d[i];
}
while(now<n)
{
bool cango=false;
for(int i=min(n,now+d[dq]);i>now;i--)//遍历当前靴子可能走到的格子
{
if(jx[i]<=s[dq])
{
now=i;
cango=true;
break;
}
}
if(cango==false)//如果这双靴子不能走了
{
xz++;dq++;
}
}
cout<<xz;
}