913D - Too Easy Problems

思路:二分check k

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pb push_back
#define mem(a,b) memset(a,b,sizeof(a)) const int N=2e5+;
struct pro{
int t,a,id;
bool operator < (pro tmp){
return t<tmp.t;
} }a[N];
int n,t;
bool check(int k){
int cnt=;
int s=;
for(int i=;i<=n;i++){
if(a[i].a>=k){
if(s+a[i].t<=t)cnt++,s+=a[i].t;
else break;
}
}
if(cnt>=k)return true;
else return false;
}
int main(){
ios::sync_with_stdio(false);
cin.tie();
cin>>n>>t;
for(int i=;i<=n;i++){
cin>>a[i].a>>a[i].t;
a[i].id=i;
} sort(a+,a++n);
int l=,r=n,m=(l+r)>>;
while(l<r){ //cout<<m<<' '<<l<<' '<<r<<endl;
if(check(m))l=m;
else r=m-;
m=(l+r+)>>;
}
cout<<m<<endl;
cout<<m<<endl;
int s=,cnt=;
for(int i=;i<=n;i++){
if(a[i].a>=m){
if(s+a[i].t<=t)cout<<a[i].id<<" ",cnt++,s+=a[i].t;
else break;
}
if(cnt==m)break;
}
cout<<endl;
return ;
}

Codeforces 913D - Too Easy Problems的更多相关文章

  1. Codeforces B. Too Easy Problems

    题目描述: time limit per test 2 seconds memory limit per test 256 megabytes input standard input output ...

  2. 【CodeForces】913 D. Too Easy Problems

    [题目]D. Too Easy Problems [题意]给定n个问题和总时限T,每个问题给定时间ti和限制ai,当解决的问题数k<=ai时问题有效,求在时限T内选择一些问题解决的最大有效问题数 ...

  3. 解题:AT2064 Many Easy Problems&EXNR #1 T3 两开花

    题面 两道题比较像,放在一起写了,后者可以看成前者的加强版 (sto ztb orz) 先看AT那道题 考虑计算每个点的贡献,用容斥计算:每个点没有贡献当且仅当选的所有点都在以他为根时的一个子节点的子 ...

  4. 【AtCoder】AGC005 F - Many Easy Problems 排列组合+NTT

    [题目]F - Many Easy Problems [题意]给定n个点的树,定义S为大小为k的点集,则f(S)为最小的包含点集S的连通块大小,求k=1~n时的所有点集f(S)的和取模92484403 ...

  5. AtcoderGrandContest 005 F. Many Easy Problems

    $ >AtcoderGrandContest \space 005 F.  Many Easy Problems<$ 题目大意 : 有一棵大小为 \(n\) 的树,对于每一个 \(k \i ...

  6. codeforces 727F. Polycarp's problems

    题目链接:http://codeforces.com/contest/727/problem/F 题目大意:有n个问题,每个问题有一个价值ai,一开始的心情值为q,每当读到一个问题时,心情值将会加上该 ...

  7. 【AGC 005F】Many Easy Problems

    Description One day, Takahashi was given the following problem from Aoki: You are given a tree with ...

  8. D. Too Easy Problems

    链接 [http://codeforces.com/group/1EzrFFyOc0/contest/913/problem/D] 题意 给你n个题目,考试时间T,对于每个问题都有一个ai,以及解决所 ...

  9. AtCoder - 2064 Many Easy Problems

    Problem Statement One day, Takahashi was given the following problem from Aoki: You are given a tree ...

随机推荐

  1. http协议基础(二)请求和响应报文的构成

    http协议用于客户端和服务器之间的通信,请求访问资源的一方称为客户端,而提供资源响应的一方称为服务器端. 下面就是客户端和服务端之间简单的通信过程 PS:请求必须从客户端建立通信,服务端没收到请求之 ...

  2. 007-配置IP和DNS

    2.配置DNS. 3.

  3. Verilog篇(四)时序模型

    时序模型:仿真器的时间推进模型,它反映了推进仿真时间和调度事件的方式. 1)门级时序模型:适用于分析所有的连续赋值语句,过程连续赋值语句,门级原语,用户自定义原语. 特点:任意时刻,任意输入变化都将重 ...

  4. Object-C-NSArray

    NSArray *fruitArray=[[NSArray alloc] initWithObjects:@"apple",@"banana",@"p ...

  5. python3 字典的常用方法

    字典的方法(可能需要重新整理) 函数 说明 D代表字典对象   D.clear() 清空字典 D.pop(key) 移除键,同时返回此键所对应的值 D.copy() 返回字典D的副本,只复制一层(浅拷 ...

  6. Python 基本数据类型(2)

    知识内容: 1.python对象模型 2.数字与bool 3.字符串 4.列表与元组 5.字典与集合 一.python对象模型 1.python对象模型 对象是python语言中最基本的概念,在pyt ...

  7. iframe嵌套

    iframe基本内涵 通常我们使用iframe直接直接在页面嵌套iframe标签指定src就可以了. <iframe src="demo_iframe_sandbox.htm" ...

  8. python 文件操作 练习:取得文件的最后存取时间

    #coding=utf-8 import osimport time file_atime=int(os.path.getatime('d:\\a.txt'))print "file_ati ...

  9. 树(Heap)

    对于大量的输入数据,链表的线性访问时间太慢,不宜使用——<数据结构与算法分析——C 语言描述> p 65 对于大量的输入数据,适合用树结构,大部分操作都是 O( log N ). 二叉树 ...

  10. centos 安装最新稳定版本docker

    直接yum安装的docker版本是 : docker --versionDocker version 1.12.6, build 85d7426/1.12.6 一些新特性需要安装最新的稳定版本 国内可 ...