描述

CTG(Cun Tou Gaming) 是我校的一支 LOL 战队,他们参加比赛总是可以拿到冠军,因为每次都只有他们一支队伍参赛,所以只需要去签个到就可以直接夺冠并领取奖金。现在有  n 场比赛可以让他们选择,每场比赛都有各自的截止日期  d 和奖金  r ,而 CTG 战队必须在截止日期之前(包括截止日期当天)去参赛才可以拿到奖金。由于签到是一项很辛苦的工作所以战队一天只能参加一场比赛。现在要你设计出一种参赛方案,使他们可以拿到最多的奖金。

Input

有多组样例,第一行一个整数  T(T≤10) ,表示  T 组样例,对于每组样例:

第一行给出一个整数  n 表示有    n(n≤105) 场比赛可以参加。

接下来的  n 行,每行由  d 和  r 组成    (d,r≤109) ,分别表示截止日期和奖金数。

Output

输出  T 行。

每行即为该组测试中可以拿到的最多奖金数,保证答案在long long int的范围内。

Examples

Input

2
3
2 10
2 15
3 20
3
2 10
1 50
1 40

Output

45
60

这题就是我在http://www.cnblogs.com/dilthey/p/7859007.html里说的那道题目。

AC代码:

#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;
struct Game{
int d,r;
bool operator < (const Game& oth)const{return oth.r<r;}
}game[+];
bool cmp(Game a,Game b){return a.d<b.d;}
int n;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=;i<n;i++) scanf("%d%d",&game[i].d,&game[i].r);
sort(game,game+n,cmp);
//for(int i=0;i<n;i++) printf("%d %d\n",game[i].d,game[i].r); priority_queue<Game> heap;
for(int i=;i<n;i++)
{
if(game[i].d>heap.size()) heap.push(game[i]);
else
{
Game t=heap.top();
if(game[i].r>t.r)
{
heap.pop();
heap.push(game[i]);
}
}
} long long ans=;
while(!heap.empty())
{
//printf("%d %d\n",heap.top().d,heap.top().r);
ans+=heap.top().r;
heap.pop();
}
printf("%lld\n",ans);
}
}

附测试数据:

------Input------
8
3
2 10
2 15
3 20
3
2 10
1 50
1 40
7
4 20
2 60
4 70
3 40
1 30
4 50
6 10
2000
690 129437
444 236120
510 13552
487 376961
8 135813
576 117668
809 256728
790 282625
950 397291
831 46129
621 364410
47 314380
589 343421
907 243865
393 347616
531 365208
725 111070
20 66761
265 353077
767 289700
198 157768
629 101735
634 170788
392 93341
791 289334
259 24363
514 183483
249 342201
379 342490
450 25143
634 106233
11 382625
735 289909
954 206382
691 298898
545 332033
222 100879
506 81493
23 347615
310 35 ------Answer-----
45
60
230
299340856
4706131694
298231962423
3417359679513
4671715304676

江南大学第三届程序设计竞赛K题 - Cun Tou Gaming - [贪心+堆]的更多相关文章

  1. ACM学习历程—SNNUOJ 1116 A Simple Problem(递推 && 逆元 && 组合数学 && 快速幂)(2015陕西省大学生程序设计竞赛K题)

    Description Assuming a finite – radius “ball” which is on an N dimension is cut with a “knife” of N- ...

  2. 江西财经大学第一届程序设计竞赛 G题 小Q的口袋校园

    链接:https://www.nowcoder.com/acm/contest/115/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  3. angry_birds_again_and_again(2014年山东省第五届ACM大学生程序设计竞赛A题)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2877 题目描述 The problems ca ...

  4. ZZUOJ-1195-OS Job Scheduling(郑州大学第七届ACM大学生程序设计竞赛E题)

    1195: OS Job Scheduling Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 106  Solved: 35 [id=1195&quo ...

  5. 湖南程序设计竞赛赛题总结 XTU 1237 Magic Triangle(计算几何)

    这个月月初我们一行三人去湖南参加了ccpc湖南程序设计比赛,虽然路途遥远,六月的湘潭天气燥热,不过在一起的努力之下,拿到了一块铜牌,也算没空手而归啦.不过通过比赛,还是发现我们的差距,希望这几个月自己 ...

  6. CSU 1328 近似回文词(2013湖南省程序设计竞赛A题)

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 解题报告:中文题题意就不说了.还好数据不大,只有1000,枚举回文串的中心位置,然 ...

  7. 江西财经大学第一届程序设计竞赛 H题 求大数的阶乘

    链接:https://www.nowcoder.com/acm/contest/115/H 来源:牛客网 晚上,小P喜欢在寝室里一个个静静的学习或者思考,享受自由自在的单身生活. 他总是能从所学的知识 ...

  8. ZOJ 4100 浙江省第16届大学生程序设计竞赛 A题 Vertices in the Pocket 线段树+并查集

    正赛的时候完全没看这个题,事后winterzz告诉我他想出来的解法. 首先题意是给出n个点,m次操作. 操作有一种是连接两个点,另一种是求此时再为这个图连k条边,最少和最多能有几个联通块. 最少的求法 ...

  9. 2012年湖南省程序设计竞赛E题 最短的名字

    题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1115 解题报告:输入n个字符串,让你求出可以用来区别这些字符串的最少的前缀总共有多少个字 ...

随机推荐

  1. Java用三元运算符判断奇数和偶数

    创建一个类,在该类的主方法中创建标准输入流的扫描器对象,提示用户输入一个整数,并通过扫描器的方法来接受这个整数,然后通过三元运算符判断该数字与2的余数,如果余数为0,说明其是偶数,否则是奇数. imp ...

  2. ab压测札记(Apache Bench)

    1 ab安装 ab实际上是apache httpd里面的一个工具或者说子模块,安装apache httpd可以参考另一篇文章JBOSS集群的2.3节 安装目录:/apache目录/bin/,如下 2 ...

  3. Java md5加密 控制台传入与web传入参数 结果不匹配 || 相同字符串加密结果不同,如何保证JAVA MD5加密结果在不同的环境下都相同

    开发中遇到md5加密不一致问题,排除了上下文编码,加密内容问题. 爬了各类资料,最终找到了原因. /** 对字符串进行MD5加密 */ private static String encodeByMD ...

  4. [AX]AX2012 R2 采购订单的“Request change”

    在采购订单List或者Detail窗口的操作面板上有一个叫做“Request change”的按钮,如果这个按钮是激活的,采购订单不能直接编辑,而必须先使用这个按钮请求修改后,采购订单才能进入编辑状态 ...

  5. 【代码审计】iCMS_v7.0.7 admincp.app.php页面存在SQL注入漏洞分析

      0x00 环境准备 iCMS官网:https://www.icmsdev.com 网站源码版本:iCMS-v7.0.7 程序源码下载:https://www.icmsdev.com/downloa ...

  6. iOS开发-VFL初窥

    VFL是苹果为了简化Autolayout的编码而推出的抽象语言,在上一篇博客中我们发现如果使用NSLayoutConstraint来添加约束是非常繁琐的. 一个简单的Frame需要添加四个NSLayo ...

  7. 在recycler中写的布局不起作用

    把 LinearLayout 改成 RelativeLayout   ok了 创建的两种方式 1.LayoutInflater.from(parent.getContext()).inflate(R. ...

  8. C语言的f(open)函数(文件操作/读写)

    头文件:#include <stdio.h> fopen()是一个常用的函数,用来以指定的方式打开文件,其原型为:     FILE * fopen(const char * path, ...

  9. N76E003之WDT(看门狗定时器)

    N76E003提供一个看门狗定时器(WDT),它可以配置成一个超时复位定时器用于复位整个设备.一旦由于外界干扰设备进入非正常状态或挂起,看门狗可以复位恢复系统.这有用于监测系统运行以提高系统可靠性.对 ...

  10. JQuery学习的尾声

    今天是最后一天学习JQuery,上周我们在狠狠的学习JavaScript,然后在这周我们又把JQuery扼杀在了摇篮里面,纵然学习的太快我们导致我们知识不牢固,可是我们没有那么多的时间学习的如此详细, ...