问题标题: 酷町堂:4069 酷町猫打怪

0
0
已解决
潘孝宇
潘孝宇
初级光能
初级光能
#include<bits/stdc++.h>
using namespace std;
struct node{
    int p,d;
    bool operator<(const node &y)const{
        if(p!=y.p)return p<y.p;
        if(d!=y.d)return d<y.d;
    }
};
priority_queue<node> q;
int n,P,D,ans=-1,cnt;
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>P>>D;
        q.push(node{P,D});
    }for(int i=1;!q.empty();i++){
        if(i%2==0){//偶数位,不管
            ans=max(ans,q.top().p);
            //cout<<"oushu\n";
            q.pop();
        }else{           //奇数位,踢开
            node tmp=q.top();
            //cout<<"jishu: "<<tmp.d<<' '<<tmp.p<<endl;;
            tmp.p+=tmp.d;
            ans=max(ans,tmp.p+tmp.d);
            q.pop();

            q.push(tmp);
        }
    }cout<<ans;
    return 0;
}
//WA0
//请大佬指错,谢谢!

 


0
我要回答