又是连样例都过不了的一天啊(悬赏一关注)
查看原帖
又是连样例都过不了的一天啊(悬赏一关注)
817033
ikun_czy楼主2023/1/11 21:13
#include<iostream>
#include<algorithm>
using namespace std;
int main(void)
{
    int n,m,q=0;
    cin>>n>>m;
    //不能直接判断有没有解,要输入完。
    int a[n],b[m];
    bool x[m];
    for(int i=0;i<n;i++)cin>>a[i];
    for(int i=0;i<m;i++){cin>>b[i];x[i]=1;}
    if(n>m){cout<<"you died!";return 0;}
    for(int i=0;i<n;i++)
    {
        //判断这颗头是否有解
        for(int j=m-1;j>=0;j--)
        {
            //遇到已经用过了的骑士
            if(a[j]==0)continue;//换下一个骑士
            //遇到能打过的骑士
            if(a[j]<=b[i])break;//可能还有解
            //最厉害的骑士都打不过,死了
            else
            {
                //输出然后结束整个程序
                cout<<"you died!";
                return 0;
            }
        }
        //如果要花费最小,每次都要用能打过且花费最小的骑士。
        for(int j=0;j<m;j++)
        {
            if(b[j]>=a[i]){q+=b[i];break;}//加花费并换头
        }
    }
    cout<<q;//输出花费
    return 0;//完美的句号
}```
2023/1/11 21:13
加载中...