(构造一个水题留着以后无聊出比赛用.)
#include <bits/stdc++.h>
using namespace std;
const int N=105;
int f[N];//从0跳到当前石头最少需要几次.
int pos[N];
int main()
{
int l;scanf("%d",&l);
int s,t,n;scanf("%d%d%d",&s,&t,&n);f[0]=0;pos[0]=0;
for(int i=1;i<=n;i++) scanf("%d",&pos[i]);sort(pos+1,pos+1+n);
for(int i=1;i<=n;i++)
{
int L=max(pos[i]-t,0);int R=max(pos[i]-s,0);
for(int j=0;j<i;j++)
{
//if(i==2&&j==0) cout<<L<<' '<<R<<endl;
if(pos[j]>=L&&pos[j]<=R) f[i]=min(f[i],f[j]+1);
}
}int ans=1e9;//cout<<f[4]<<' '<<pos[4]<<endl;
for(int i=1;i<=n;i++)
{
if(pos[i]+t>=l) ans=min(ans,f[i]);
}printf("%d\n",ans);
return 0;
}lpt的小屋 文章被收录于专栏
我想要一份甜甜的爱情
