HDU 4020 Ads Proposal
排排序,找找做题的感觉...
对了,longlong用C++ 错了几次,我也是linux选手了....
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- #include <string>
- #include <vector>
- #include <queue>
- #include <algorithm>
- using namespace std;
- #define MOD 1000000007
- #define LL __int64
- struct node
- {
- int u,c,num;
- LL l;
- }p[];
- int flag[];
- LL sum[];
- int cmp(node a,node b)
- {
- if(a.u == b.u)
- return a.c > b.c;
- else
- return a.u < b.u;
- }
- int cmp1(node a,node b)
- {
- return a.num < b.num;
- }
- int main()
- {
- int t,cas = ,n,m,q,i,st,maxz;
- scanf("%d",&t);
- while(t--)
- {
- scanf("%d%d%d",&n,&m,&q);
- for(i = ;i < n;i ++)
- flag[i] = ;
- for(i = ;i < m;i ++)
- scanf("%d%d%I64d",&p[i].u,&p[i].c,&p[i].l);
- sort(p,p+m,cmp);
- p[].num = ;
- for(i = ;i < m;i ++)
- {
- if(p[i].u != p[i-].u)
- p[i].num = ;
- else
- p[i].num = p[i-].num + ;
- }
- sort(p,p+m,cmp1);
- sum[] = p[].l;
- flag[p[].num] = ;
- maxz = ;
- for(i = ;i < m;i ++)
- {
- if(p[i].num != p[i-].num)
- flag[p[i].num] = i;
- sum[i] = sum[i-] + p[i].l;
- maxz = max(maxz,p[i].num);
- }
- printf("Case #%d:\n",cas++);
- for(i = ;i < q;i ++)
- {
- scanf("%d",&st);
- if(st <= )
- printf("0\n");
- else if(st >= maxz)
- printf("%I64d\n",sum[m-]);
- else
- printf("%I64d\n",sum[flag[st+]-]);
- }
- }
- return ;
- }
HDU 4020 Ads Proposal的更多相关文章
- hdu 2846 Repository
http://acm.hdu.edu.cn/showproblem.php?pid=2846 Repository Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 5533 Dancing Stars on Me 水题
Dancing Stars on Me Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...
- HDU 5536 Chip Factory 字典树
Chip Factory Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid= ...
- HDU 5538 L - House Building 水题
L - House Building Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.ph ...
- HDU 5514 Frogs 容斥定理
Frogs Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5514 De ...
- HDU 5515 Game of Flying Circus 二分
Game of Flying Circus Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem ...
- HDU 2846 Repository(字典树,每个子串建树,*s的使用)
Repository Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- HDU:2846-Repository
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2846 Repository Time Limit: 2000/1000 MS (Java/Others) ...
随机推荐
- Delphi管理多线程之线程局部存储:threadvar
尽管多线程能够解决许多问题,但是同时它又给我们带来了很多的问题.其中主要的问题就是:对全局变量或句柄这样的全局资源如何访问?另外,当必须确保一个线程中的某些事件要在另一个线程中的其他时间之前(或之后) ...
- git push 使用总结
git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. $ git push <远程主机名> <本地分支名>:<远程分支名> ...
- ereg/eregi报错处理办法
ereg()函数和eregi()函数用法相同,不同之处在与ereg()区分大小写,eregi()不区分大小写 在php5.3以上的版本将不再支持eregi()和ereg()函数 处理办法: 正则函数处 ...
- 消息队列通信,王明学learn
消息队列通信 消息队列就是一个消息(一个结构)的链表.而一条消息则可看作一个记录,具有特定的格式.进程可以从中按照一定的规则添加新消息:另一些进程则可以从消息队列中读走消息. 每一个消息都是一个结构体 ...
- POJ——3264线段树
题目: 输入两个数(m,n),m表示牛的头数,n表示查询的个数.查询时输入两个数(x,y),表示查询范围的起始值和终止值,查询结果是,这个区间内牛重量的最大值减去牛重量的最小值,数量级为1000,00 ...
- Visual Studio vs软件下载 vax Visual Assist X VAssistX
Visual_Studio_2008_Team_Suite简体中文正式版及补丁下载链接:http://pan.baidu.com/s/1jGvOotg 密码:y6ic Visual Studio 20 ...
- C#插件构架实战 + Visual C#插件构架实战补遗(转)
C#插件构架实战 C# 插件构架实战 Jack H Hansen [ 2004-07-27 ] Keywords C# 插件 反射(System.Reflection) 属性(System.Attri ...
- js控制密码的显示与隐藏实例
原理是建立2个input,一个type是text,一个type是password.在点击按钮时,这两input个的显示状态与val()的值在切换. html: <!DOCTYPE html> ...
- iOS10 UI教程基改变视图的外观与视图的可见性
iOS10 UI教程基改变视图的外观与视图的可见性 视图是应用程序的界面,是用户在屏幕上看到的对象.用户可以通过触摸视图上的对象与应用程序进行交互,所以视图界面的优劣会直接影响到了客户体验的好坏.和视 ...
- javaScript怪癖分析
最近了解到javascript中有些编程怪癖现象,很有意思,有必要总结一下: 1.未知变量名创建全局变量 在我们平常的编写javascript程序的时候,有的人写法不是很正规,在定义变量的时候 直接定 ...