比赛 SBOI2022暑假快乐赛① 评测结果 AAWWWWWWWA
题目名称 Snow Boots 最终得分 30
用户昵称 ┭┮﹏┭┮ 运行时间 0.225 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-06-25 10:57:26
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int N,B,s = 99999999;
int f[2060],d[2060],step[2060];
bool v[2600][2060];
void sou(int x,int y){
    if(v[x][y])return;
    v[x][y] = 1;
    if(x > N)return;
    if(x == N){
        if(y < s)s = y;
    }
    for(int i = 1;i <= step[y];i++){
        int j = y;
        while(d[j] < f[x+i]){
            j++;
            if(j > B)break;
        }
        while(d[j] >= f[x+i]){
            sou(x+i,j);j++;
            if(j > B)break;
        }
    }
}
int main(){
    freopen("snowboots_silver_18feb.in","r",stdin);
    freopen("snowboots_silver_18feb.out","w",stdout);
    scanf("%d%d",&N,&B);
    for(int i = 1;i <= N;i++){
        scanf("%d",&f[i]);
    }
    for(int i = 1;i <= B;i++){
        scanf("%d%d",&d[i],&step[i]);
    }
    sou(1,1);
    printf("%d\n",s-1);
    
    return 0;
}