cf 321B
2016-02-24 13:03
323 查看
DescriptionKefa wants to celebrate his first big salary by going to restaurant. However, he needs company.Kefa has n friends, each friend will agree to go to the restaurant if Kefa asks. Each friend is characterized by the amount of money he has and the friendship factor in respect to Kefa. The parrot doesn't want any friendto feel poor compared to somebody else in the company (Kefa doesn't count). A friend feels poor if in the company there is someone who has at leastd units of money more than he does. Also, Kefa wants the total friendship factor of the members of the company to be maximum. Help him invite an optimal company!InputThe first line of the input contains two space-separated integers,n and d (1 ≤ n ≤ 105,) — the number of Kefa's friends and the minimum difference between the amount of money inorder to feel poor, respectively.Next n lines contain the descriptions of Kefa's friends, the(i + 1)-th line contains the description of thei-th friend of typemi,si (0 ≤ mi, si ≤ 109)— the amount of money and the friendship factor, respectively.OutputPrint the maximum total friendship factir that can be reached.Sample InputInput
4 5 75 5 0 100 150 20 75 1Output
100Input
5 1000 711 3299 1046 887 54Output
111
两点,一点是爆数据,一点是求和线段#include<stdio.h>#include<math.h>#include<string.h>#include<algorithm>#include<limits.h>#define zuida 100000using namespace std;int n,d,i;long long maxn,sum,fuzhu[zuida];struct myk{int m;int s;};myk a[zuida+10];bool cmp(myk a,myk b){ if(a.m<b.m) return 1; else return 0;}int chazhao(int input){ int l,r,mid; l=input; r=n; while(r-l>1) { mid=(l+r)/2; if((a[mid].m-a[i].m)<d) l=mid; else r=mid; } return l;}int main(void){ scanf("%d%d",&n,&d); int j; for(i=0;i<n;i++) scanf("%d%d",&a[i].m,&a[i].s); sort(a,a+n,cmp); maxn=0; fuzhu[0]=a[0].s; for(i=1;i<n;i++) fuzhu[i]=fuzhu[i-1]+a[i].s; for(i=0;i<n;i++) { j=chazhao(i); sum=fuzhu[j]-fuzhu[i]+a[i].s; maxn=(sum>maxn)?sum:maxn; } printf("%I64d",maxn); return 0;}
相关文章推荐
- Maven2的配置文件settings.xml
- 欢迎使用CSDN-markdown编辑器
- ubuntu硬盘安装卡在探测文件系统
- ORACLE 如何查询被锁定表及如何解锁释放session
- mysql 数据库导入导出
- 实现一个做双向NAT的虚拟网卡
- POJ 3273 Monthly Expense
- GreenPlum安装
- 华为P8解锁问题:waiting for device解决方法(亲测成功)
- ICPCCamp 2016 Day 2 - ZhejiangU Contest(Easy When You Know How-并查集+rmq)
- 依据Path取Json指定节点的值
- iOS的TCP/IP协议族剖析&&Socket
- mysql 清除relay-log文件方法详解
- 604B
- 常见的响应式表格
- butterknife框架浅析
- JavaScript(三)-- DOM编程
- 远程连接Mysql数据库问题(ERROR 2003 (HY000))
- 细说 CSS margin
- Java开发中的23种设计模式详解(转)