hdu 1896 stones 队列

/* ***********************************************
Author        :xryz
Email         :523689985@qq.com
Created Time  :4-13 22:10:29
File Name     :Stones.cpp
************************************************ */

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
struct node
{
    int p;
    int d;
    bool operator <(const node a) const
    {
        if(p==a.p) return a.d<d;
        return p>a.p;
    }
}temp;

priority_queue<node>q;
int main()
{
    int t,i,n;
    scanf("%d",&t);
    while(t--)
    {
        while(!q.empty()) q.pop();
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            scanf("%d%d",&temp.p,&temp.d);
            q.push(temp);
        }
        while(!q.empty())
        {
            temp.d=q.top().d;
            temp.p=q.top().p+q.top().d;
            q.push(temp);
            q.pop();
            q.pop();
        }
        printf("%d
",q.top().p);
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/

原文地址:https://www.cnblogs.com/xryz/p/4848041.html