Codeforces_729_C
http://codeforces.com/problemset/problem/729/C
二分找最小容量,然后找符合的最小花费。
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std; int n,k,s,t,c[],v[],g[]; bool f(int x)
{
int tt = ;
for(int i = ;i <= k+;i++)
{
int temp = g[i]-g[i-];
if(x < temp) return ;
if(x >= temp*) tt += temp;
else tt += *temp-x;
}
if(tt > t) return ;
return ;
}
int main()
{
scanf("%d%d%d%d",&n,&k,&s,&t);
for(int i = ;i <= n;i++) scanf("%d%d",&c[i],&v[i]);
for(int i = ;i <= k;i++) scanf("%d",&g[i]);
sort(g+,g++k);
g[k+] = s;
g[] = ;
int l = ,r = 1e9+;
while(l < r)
{
int mid = (l+r)/;
if(f(mid)) r = mid;
else l = mid+;
}
int ans = 1e9+;
for(int i = ;i <= n;i++)
{
if(v[i] >= l) ans = min(ans,c[i]);
}
if(ans == 1e9+) printf("-1\n");
else printf("%d\n",ans);
return ;
}
Codeforces_729_C的更多相关文章
随机推荐
- 【THE LAST TIME】深入浅出 JavaScript 模块化
前言 The last time, I have learned [THE LAST TIME]一直是我想写的一个系列,旨在厚积薄发,重温前端. 也是对自己的查缺补漏和技术分享. 欢迎大家多多评论指点 ...
- shiro采坑指南—基础概念与实战
说明 代码及部分相关资料根据慕课网Mark老师的视频进行整理. 其他资料: shiro官网 基础概念 Authenticate/Authentication(认证) 认证是指检查用户身份合 ...
- 你真的看懂Android事件分发了吗?
引子 Android事件分发其实是老生常谈了,但是说实话,我觉得很多人都只是懂其大概,模棱两可.本文的目的就是再次从源码层次梳理一下,重点放在ViewGroup的dispatchTouchEvent方 ...
- JavaScript-null与' '的区别
null代表的是空对象无地址,而' '则代表的是有地址,但是这个地址里面的内容为空
- Java Collection集合概述及其常用方法
Collection集合概述 Java数组的长度是固定的,为了使程序能够方便地存储和操作数目不固定的一组数据,JDK类库提供了Java集合 与数组不同的是,集合中不能存放基本类型数据,而只能存放对象的 ...
- Google搜索成最大入口,简单谈下个人博客的SEO
个人静态博客SEO该考虑哪些问题呢?本篇文章给你答案 咖啡君在开始写文章时首选了微信公众号作为发布平台,但公众号在PC端的体验并不好,连最基本的文章列表都没有,所以就搭建了运维咖啡吧的网站,可以通过点 ...
- sender e
sender 产生事件的对象e 事件的参数
- ThreadLocal终极篇
前言 在面试环节中,考察"ThreadLocal"也是面试官的家常便饭,所以对它理解透彻,是非常有必要的. 有些面试官会开门见山的提问: “知道ThreadLocal吗?” “讲讲 ...
- SpringCloud之Eureka(服务注册和服务发现基础篇)(二)
一:Eureka简介 Eureka是Spring Cloud Netflix的一个子模块,也是核心模块之一.用于云端服务发现,一个基于REST的服务,用于定位服务,以实现云端中间层服务发现和故障转移. ...
- 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块
Log4a 基于AOP和ThreadLocal实现的一个简单Http API日志记录模块 github地址 : https://github.com/EalenXie/log4a 在API每次被请求时 ...