#include<cstdio>
#include<iostream>
using namespace std;
int l,r,m,n,a[],ans;
bool pan(int x)
{
int a1=min(x,m);
for(int i=;i<=n;i++)
if(a[i]<x)
{
a1-=x-a[i];
if(a1<)
return ;
}
return ;
}
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
scanf("%d",&a[i]);
l=;
r=;
for(;l<=r;)
{
int mid=(l+r)>>;
if(pan(mid))
{
l=mid+;
ans=mid;
}
else
r=mid-;
}
printf("%d\n",ans);
return ;
}

二分答案判断是否可行。

其实我还有一种想法,只是一直没对,以后要对拍一下。

 #include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
long long a[],n,m,sum,q1=0x7ffffffffLL,q2=0x7ffffffffLL;
bool f;
int main()
{
scanf("%lld%lld",&n,&m);
for(int i=;i<=n;i++)
scanf("%lld",&a[i]);
sort(a+,a+n+);
for(int i=;i<=n;i++)
{
if(m-(i-)*(a[i]-a[i-])<)
{
f=;
q1=m/(i-)+a[i-];
}
m-=(i-)*(a[i]-a[i-]);
if(sum+(i-)*(a[i]-a[i-])>a[i])
{
f=;
q2=(sum-(i-)*a[i-])/(-i);
}
if(f)
break;
sum+=(i-)*(a[i]-a[i-]);
}
printf("%lld",min(a[n],min(q1,q2)));
return ;
}

bzoj 1816: [Cqoi2010]扑克牌的更多相关文章

  1. BZOJ 1816: [Cqoi2010]扑克牌( 二分答案 )

    二分答案.. 一开始二分的初始右边界太小了然后WA,最后一气之下把它改成了INF... -------------------------------------------------------- ...

  2. [BZOJ 1816] [Cqoi2010] 扑克牌 【二分答案】

    题目链接:BZOJ - 1816 题目分析 答案具有可以二分的性质,所以可以二分答案. 验证一个答案 x 是否可行,就累加一下各种牌相对于 x 还缺少的量,如果总和超过了 x 或 m ,就不可行. 因 ...

  3. [BZOJ 1816][Cqoi2010]扑克牌(二分答案)

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1816 分析: 我先以为是道水题,但是要注意的是每套牌中Joker只能用1张的,所以就出现了可能 ...

  4. BZOJ:1816 [Cqoi2010]扑克牌 (贪心或二分答案)

    题面 \(solution:\) 这道题难就难在你能否读懂题目的意思,我们将它翻译一下: 现在我有n根竹子(每根竹子有\(c_i\)节,每节竹子高度为1),我可以通过消耗一点法力值使某一根竹子的某两节 ...

  5. 1816: [Cqoi2010]扑克牌

    Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 2737  Solved: 1082[Submit][Status][Discuss] Descripti ...

  6. bzoj1816: [Cqoi2010]扑克牌(二分答案判断)

    1816: [Cqoi2010]扑克牌 题目:传送门 题解: 被一道毒瘤题搞残了...弃了坑来刷刷水题 一开始还想复杂了...结果发现二分水过: 二分答案...然后check一下,joker肯定尽量用 ...

  7. 【BZOJ1816】[CQOI2010]扑克牌(二分,贪心)

    [BZOJ1816][CQOI2010]扑克牌(二分,贪心) 题面 BZOJ 题解 看了一眼这题,怎么这么眼熟?woc,原来\(xzy\)的题目是搬的这道啊... 行,反正我考的时候也切了,这数据范围 ...

  8. BZOJ1816 Cqoi2010 扑克牌【二分答案】

    BZOJ1816 Cqoi2010 扑克牌 Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张jok ...

  9. 【BZOJ1816】[Cqoi2010]扑克牌 二分

    [BZOJ1816][Cqoi2010]扑克牌 Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张j ...

随机推荐

  1. ORA-12705: Cannot access NLS data files or invalid environment specified

    ASM实例无法启动 [grid@data ~]$ sqlplus / as sysasm SQL*Plus: Release 11.2.0.4.0 Production on Fri Sep 11 0 ...

  2. INTERPRETER(解释器)

    1 意图:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子. 2 动机:如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个 ...

  3. mysql使用笔记(三)

    一.数值类型 1. 数值类型     标准sql中包含数据类型 INTEGER, SMALLINT, DECIMAL, NUMERIC,以及FLOAT, REAL, DOUBLE.mysql在此基础上 ...

  4. 解决Tomcat: Can't load IA 32-bit .dll on a AMD 64-bit platform问题

    http://201209235316.iteye.com/blog/2063853 http://www.cnblogs.com/liuyp-ken/p/5503822.html

  5. 深入理解JVM虚拟机-7虚拟机类加载机制

    虚拟机把描述类的数据从Class文件夹加载到内存,并对数据进行小燕.转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制. 下面所说的Class文件不是具体的某个文件 ...

  6. 游戏引擎/GUI的设计与实现-主题

    GUI的主题与中心思想没有什么关系,纯粹是一种控制GUI外观的配置方案.几乎所有的视觉效果都由主题是控制的,一个设计良好的主题模块,可以通过配置文件模拟不同的系统.主题的设计可繁可简,能满足自己的需要 ...

  7. 一个最简html5文档来说明html5的新特性和写法

    <!DOCTYPE html> <html lang="zh"> <head> <meta charset="utf-8&quo ...

  8. computer English

    算法常用术语中英对照Data Structures 基本数据结构Dictionaries 字典PriorityQueues 堆Graph Data Structures 图Set Data Struc ...

  9. Android LayoutParams

    LayoutParams继承于Android.View.ViewGroup.LayoutParams,就是布局. LayoutParams相当于一个Layout的信息包,它封装了Layout的位置.高 ...

  10. WPF:ListView数据绑定及Style

    DrugRecordsWin.xaml <ListView Grid.Row="4" Grid.Column="1" Name="list_Dr ...