题解:P17760 「奶龙OI」Round 3 - 生存大师

· · 题解

可以发现,石镐的通用性不如钻石镐,那么在遇到石头的时候优先用石镐挖再用钻石镐挖即可。
代码:

#include <bits/stdc++.h>
using namespace std;
int t,n,a,b,ans,flag;
int main()
{
    cin>>t;
    while(t--)
    {
        cin>>n>>a>>b;
        ans=0;
        flag=1;
        for(int i=1;i<=n;++i)
        {
            int x;
            cin>>x;
            if(x==1)//石头
            {
                if(a)
                {
                    a--;
                }//优先石镐
                else if(b)
                {
                    b--;
                }//否则钻镐
                else
                {
                    flag=0;
                }//都没有就没法继续挖了,但是输入要输完(赛时因为输入没输完条了3min)
            }
            else
            {
                if(b)
                {
                    b--;
                }//必须钻镐
                else
                {
                    flag=0;
                }
            }
            if(flag)
            {
                ans=i;
            }//统计答案
        }
        cout<<ans<<"\n";
    }
    return 0;
}