题意是说给定一个序列,能否通过任意次对部分数字 +1,对部分数字 -2的操作使得序列在满足全部非负且任意两元素的差值不超过1的前提下最小值最大,求最大值。

一开始的时候没有注意到整个序列全是非负数,还写了一步判断是否所有正数都有能力将所有负数变正,也就是说所有正数的和是否为负数和的绝对值的两倍......

后来发现序列中没有负数,根本不会出现题目里所说的要输出 -1 的情况.....(至于都是正数为什么就能通过调整满足题中任意两元素差值不超过1这一点,我只能说这是我试了几次得到的结果,才疏学浅,没有能力严谨地去证明).

然后本人的做法是记录整个序列的最小和最大值,显然答案在最小值和最大值之间,用二分的方法调整 mid 的值:

当发现 mid 的值较小,也就是说所有大于 mid 的数仍有提高序列最小值的能力(同时要满足题意),那么就令 l = mid +1;若 mid 的值较大,所有大于 mid 的数无法通过减小自身来提高较小的数时, 则令 r = mid - 1。

 #include <bits/stdc++.h>
using namespace std;
__int64 num[];
int main()
{
int k;
__int64 r,l,mid,temp;
scanf("%d",&k);
while(k--)
{
int n;
scanf("%d",&n);
r = ; l = 1e8;
for(int i = ; i <= n; i++)
{
scanf("%I64d",&num[i]);
r = max(r,num[i]);
l = min(l,num[i]);
}
while(r >= l)
{
mid = (r + l) / ;
temp = ;
for(int i = ; i <= n; i++)
if(num[i] - mid > ) temp += (num[i] - mid) / ;
else temp += num[i] - mid;
if(temp >= ) l = mid + ;
else r = mid - ;
}
printf("%d\n",r);
}
return ;
}

hdu 6383的更多相关文章

  1. HDU - 6383 百度之星2018初赛B 1004 p1m2(二分答案)

    p1m2  Accepts: 1003  Submissions: 4595  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 131072 ...

  2. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  4. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  5. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  6. HDU 4006The kth great number(K大数 +小顶堆)

    The kth great number Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64 ...

  7. HDU 1796How many integers can you find(容斥原理)

    How many integers can you find Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

  8. hdu 4481 Time travel(高斯求期望)(转)

    (转)http://blog.csdn.net/u013081425/article/details/39240021 http://acm.hdu.edu.cn/showproblem.php?pi ...

  9. HDU 3791二叉搜索树解题(解题报告)

    1.题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=3791 2.参考解题 http://blog.csdn.net/u013447865/articl ...

随机推荐

  1. JPQL的关联查询

    一般情况下,直接使用mysql语句写关联语句,是join on 的形式,如下: select * from tablea as a left join tableb as b on b.tablea_ ...

  2. [CF1107E]Vasya and Binary String【区间DP】

    题目描述 Vasya has a string s of length n consisting only of digits 0 and 1. Also he has an array a of l ...

  3. 实验八 应用层协议Ⅱ-FTP协议分析

    实验八 应用层协议Ⅱ-FTP协议分析 一.实验目的 1.掌握FTP协议的实现原理. 2.了解控制通道和数据通道. 二.实验内容 用WareShark追踪ftp连接. 1.三次握手 2.ftp服务器回发 ...

  4. linux ./configure check your system clock

    checking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sa ...

  5. 三小时学会Kubernetes:容器编排详细指南

    三小时学会Kubernetes:容器编排详细指南 如果谁都可以在三个小时内学会Kubernetes,银行为何要为这么简单的东西付一大笔钱? 如果你心存疑虑,我建议你不妨跟着我试一试!在完成本文的学习后 ...

  6. ajax访问服务器的基础格式写法

    $("#submit").click(function( $.ajax({ url: "server/deleteHandler.ashx",//选择路径, d ...

  7. C# DateTimePicker控件获取他的年,月,日,时,分,秒

    CustomFormat属性设置为: yyyy-MM-dd HH:mm:ss 记住还要修改一个属性值,DateFormat属性 可选项改为Custom,默认是Long

  8. 利用captcha库绘制验证码

    #导包 from captcha.image import ImageCaptcha from PIL import Image import random import time import os ...

  9. jokes

    先看效果如下 目录如下 //index.html <!DOCTYPE html> <html lang="zh-CN"> <head> < ...

  10. c/c++ 大于等于 大于 时间效率比较

    变成汇编,都是: 大于等于和大于都是电路上的处理,时间上应该差不多.