比赛 9.27练习赛 评测结果 AAAAAAAAAA
题目名称 Snow Boots 最终得分 100
用户昵称 小金 运行时间 0.237 s
代码语言 C++ 内存使用 3.75 MiB
提交时间 2024-09-27 21:22:03
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,b,f[260],s[260],d[260],dp[260][260];
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",&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])
        {
            printf("%d",i-1);
            break;
        }
    }
    return 0;
}