比赛 |
9.27练习赛 |
评测结果 |
AAAAAAAAAA |
题目名称 |
Snow Boots |
最终得分 |
100 |
用户昵称 |
袁书杰 |
运行时间 |
0.128 s |
代码语言 |
C++ |
内存使用 |
3.86 MiB |
提交时间 |
2024-09-27 21:38:04 |
显示代码纯文本
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,b,f[255],s[255],d[255],flag[255][255],ans=5e18;
void dfs(int cost,int now){
if(cost>=n){
ans=min(ans,now);
return;
}
bool last=flag[cost][now];
if(!last){
flag[cost][now]=true;
for(int i=now+1;i<=b;i++){
if(!last){
if(f[cost]<=s[i]){
dfs(cost,i);
}
}
else{
return;
}
}
for(int i=cost+1;i<=min(n,cost+d[now]);i++){
if(!last){
if(f[i]<=s[now]){
dfs(i,now);
}
}
else{
return;
}
}
}
else{
return;
}
}
signed main(){
freopen("snowboots_silver_18feb.in","r",stdin);
freopen("snowboots_silver_18feb.out","w",stdout);
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n>>b;
for(int i=1;i<=n;i++){
cin>>f[i];
}
for(int i=1;i<=b;i++){
cin>>s[i]>>d[i];
}
dfs(1,1);
cout<<ans-1;
return 0;
}