P13278 题解

· · 题解

#include<bits/stdc++.h>
using namespace std;
long long n,m,q,a,x,an,ax,am;
//an自己打出的伤害总和,ax伤害次数,am对方伤害总和
int main(){
    cin>>n>>m>>q;
    for(int i=1;i<=n;i++){
        cin>>a;
        if(a>0){if(an<m && am<m){an+=a;ax++;}}
        if(a<0){if(an<m && am<m){am-=a;}}
        //累加伤害
    }
    for(int i=1;i<=q;i++){
        cin>>x;
        if(m<=am && m>an+x*ax){cout<<"No\n";}
        //自己不能打败对手,对手能打败你,输出不能
        else if(an+x*ax>=m){cout<<"Yes\n";}
        //自己能打败对手,对手不能打败你,输出能
        else{cout<<"Tie\n";}//否则平局
    }
}