JZOJ 4737. 金色丝线将瞬间一分为二 二分答案
Description
Input
Output
Sample Input
5 10
1 1
2 2
3 3
4 4
5 5
Sample Output
4
Data Constraint
#include <cstdio>
#include <iostream>
#include <cstring>
#define N 600007
#define LL long long
#define rep(i,a,b) for(int i=a;i<=b;i++)
#include <algorithm>
using namespace std;
int n;
LL d, Qx[N], Qy[N],Sumx[N],Sumy[N];
struct arr{
LL val;
int site;
}a[N],b[N]; int Cmp(arr x,arr y){
return x.val<y.val;
} bool Check(int ain){
LL sum=;
rep(i,,n){
if(a[i].site<=ain) Qx[++Qx[]]=a[i].val;
if(b[i].site<=ain) Qy[++Qy[]]=b[i].val;
}
rep(i,,ain){
Sumx[i]=Sumx[i-]+Qx[i];
sum+=Qx[i]*i-Sumx[i];
Sumy[i]=Sumy[i-]+Qy[i];
sum+=Qy[i]*i-Sumy[i];
}
Qx[]=Qy[]=;
rep(i,,ain){
Qx[i]=Qy[i]=;
Sumx[i]=Sumy[i]=;
}
if(sum>=d) return ; else return ;
} void Work(){
int l=,r=n;
for(;l<r;){
int mid=(l+r)/;
if(Check(mid)) r=mid; else l=mid+;
}
if(l!=n) printf("%d",l);
else printf("-1");
} int main(){
scanf("%d%lld",&n,&d);
rep(i,,n)
scanf("%lld%lld", &a[i].val,&b[i].val),a[i].site=i,b[i].site=i;
sort(a+,a+n+,Cmp);
sort(b+,b+n+,Cmp);
Work();
}
JZOJ 4737. 金色丝线将瞬间一分为二 二分答案的更多相关文章
- [JZOJ4737] 【NOIP2016提高A组模拟8.25】金色丝线将瞬间一分为二
Description Input Output Sample Input 5 101 12 23 34 45 5 Sample Output 4 Data Constraint Hint 开long ...
- c++二分答案 之 跳石头
题目: 题目描述 Description 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之 ...
- BZOJ 1738: [Usaco2005 mar]Ombrophobic Bovines 发抖的牛( floyd + 二分答案 + 最大流 )
一道水题WA了这么多次真是.... 统考终于完 ( 挂 ) 了...可以好好写题了... 先floyd跑出各个点的最短路 , 然后二分答案 m , 再建图. 每个 farm 拆成一个 cow 点和一个 ...
- BZOJ_4590_[Shoi2015]自动刷题机_二分答案
BZOJ_4590_[Shoi2015]自动刷题机_二分答案 Description 曾经发明了信号增幅仪的发明家SHTSC又公开了他的新发明:自动刷题机--一种可以自动AC题目的神秘装置.自动 刷题 ...
- CH Round #72树洞[二分答案 DFS&&BFS]
树洞 CH Round #72 - NOIP夏季划水赛 描述 在一片栖息地上有N棵树,每棵树下住着一只兔子,有M条路径连接这些树.更特殊地是,只有一棵树有3条或更多的路径与它相连,其它的树只有1条或2 ...
- [CF752E]Santa Claus and Tangerines(二分答案,dp)
题目链接:http://codeforces.com/contest/752/problem/E 题意:给n个橘子,每个橘子a(i)片,要分给k个人,问每个人最多分多少片.每个橘子每次对半分,偶数的话 ...
- [NOIP2011] 聪明的质检员(二分答案)
题目描述 小T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有 n 个矿石,从 1到n 逐一编号,每个矿石都有自己的重量 wi 以及价值vi .检验矿产的流程是: 1 .给定m 个区间[L ...
- Codeforces Round #377 (Div. 2) D. Exams(二分答案)
D. Exams Problem Description: Vasiliy has an exam period which will continue for n days. He has to p ...
- {POJ}{3897}{Maze Stretching}{二分答案+BFS}
题意:给定迷宫,可以更改高度比,问如何使最短路等于输入数据. 思路:由于是单调的,可以用二分答案,然后BFS验证.这里用优先队列,每次压入也要进行检查(dis大小)防止数据过多,A*也可以.好久不写图 ...
随机推荐
- Srping MVC中Controller的void方法
第一种 通过修改response来修改页面 /** * 方式一:通过声明HttpServletResponse类型的方法入参,来使用HttpServletResponse对象. * 注意:在Contr ...
- .net 向新页面跳转的语句
1. href='##' onclick=\"window.open('../DataSplit/DrugInfo_ManualVersionViewNew.aspx?id=" + ...
- js统计字符出现次数
var s = "The rain in Spain falls rain mainly in the rain plain"; var reg = new RegExp(&quo ...
- struts2的执行流程
在浏览器端输入相应的访问地址>>>>把请求发送给tomact>>>>tomact判断应该交给那个webApplication>>>&g ...
- Google,真的要离我们而去吗?
Google,真的要离我们而去吗? 好怀念,真正要解决问题,还得搜google!
- grunt配置sass项目自动编译
1.安装Ruby和SASS 首先我们需要在电脑上安装Ruby和SASS.如果您使用的是Mac,您就没必要安装Ruby.如果您使用的是Window系统,你需要安装Ruby. 2.安装Nodejs 由于使 ...
- ArcGIS for Server新建站点异常,Failed to create the site.Failed to configure the server machine'XXXX',Server machine'XXXX' is not a local server machine.
系统环境:操作系统Win7 64位,装在虚拟机VM中,ArcGIS for Server 10.2.1 问题描述:ArcGIS for Server 10.2.1安装并授权完成后,站点初始化时显示 ...
- HDU3308 线段树区间合并
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3308 ,简单的线段树区间合并. 线段树的区间合并:一般是要求求最长连续区间,在PushUp()函数中实 ...
- pat乙级1045
从左到右扫描时记录扫描到当前下标为止的最大值,如果当前元素大于这个最大值,那么它就大于它左边的所有值.同理,从右到左扫描记录扫描到当前下标为止的最小值,如果当前元素小于这个最大小值,那么它就小于它右边 ...
- 9 Palindrome_Number
Determine whether an integer is a palindrome. Do this without extra space. 判断一个数是否是回文数. public class ...