比赛 SBOI2022暑假快乐赛① 评测结果 AAAAAAAAAA
题目名称 Snow Boots 最终得分 100
用户昵称 ムラサメ 运行时间 0.108 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2022-06-25 10:47:03
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int maxn=260;
int n,b,dp[maxn][maxn],f[maxn],s[maxn],d[maxn];
int main(){
    freopen("snowboots_silver_18feb.in","r",stdin);
    freopen("snowboots_silver_18feb.out","w",stdout);
    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];
    }
    dp[1][1]=1;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=b;j++){
            if(dp[i][j]){
                for(int k=j;k<=b;k++){
                    if(f[i]<=s[k]){
                        for(int l=i+1;l<=min(n,i+d[k]);l++){
                            if(f[l]<=s[k]){
                                dp[l][k]=1;
                            }
                        }
                    }
                }
            }
        }
    }   
    for(int i=1;i<=b;i++){
        if(dp[n][i]){
            cout<<i-1<<endl;
            return 0;
        }
    }
    return 0;
}