【NBUTOJ】Red packet

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

这里写图片描述
这里写图片描述

经过前面的一番折腾,这种题已经不是问题。
只是考虑全面就行了。
题意:发红包准备发m块钱,n个人,已经发了k个人。
求要成为运气王,至少需要在剩余的钱中得到多少钱,每人得到的钱数都大于0.

#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
const int MAXN = 1*1e5+10;
int a[MAXN];
int n,m,k,sum;
bool judge(int mid) {
    if(mid>*max_element(a,a+k)&&mid>m-sum-mid-(n-k-2))
        return true;
    return false;
}
int main() {
    int T;
    scanf("%d",&T);
    while(T--) {
        sum=0;
        scanf("%d%d%d",&n,&m,&k);
        for(int l=0; l<k; l++) {
            scanf("%d",&a[l]);
            sum+=a[l];
        }
        int l=1,r=m-sum-(n-k-1);
        int mid;
        int ans=0;
        while(l<=r) {
            mid=l+r>>1;
            if(judge(mid)) {
                r=mid-1;
                ans=mid;
            } else
                l=mid+1;
        }
        if(ans==0)
            printf("Impossible\n");
        else
            printf("%d\n",ans);
    }
    return 0;
}

http://acm.hust.edu.cn/vjudge/contest/123973#problem/I

MATLAB实现的两级OPF与电动车充电调度,用于配电网络.zip 1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 立即下载

相关推荐

Python 寄存器位域解析与 JSON 配置工具(芯片开发+寄存器/位域+解析源码+寄存器转储分析)

根据 JSON 指定位宽和字段起止位,解析寄存器数值并显示枚举含义。包含重叠字段、重复名称、位范围和输入数值检查。 适用于嵌入式软件开发人员、驱动开发入门者及相关技术学习者。资源包含源码或模板、使用说明及验证范围说明。Python 3.10+,仅使用标准库;寄存器宽度 1 至 64 位。 功能边界见 README.md,实际验证情况见 TESTING.md。

NBUTOJ】-1651-Red packet二分

[1651] Red packet 时间限制: 1000 ms 内存限制: 65535 K 问题描述 New Year is coming! Our big boss Wine93 will distribute some “Red Package”, just like Alipay and Wechat. Wine93 has m yuan, he decides to

Bear1998的博客 594

UAC白名单设置-软件使用

代码下载链接: https://pan.quark.cn/s/a4b39357ea24 用户账户控制(UAC)白名单的配置 Windows7环境中 UAC(User Account Control,用户帐户控制)是由微软在Windows Vista版本中推出的一项旨在增强系统安全性的创新技术,该技术强制要求用户在执行可能干扰计算机正常运作的操作或进行更改会波及其他用户设置的变动前,必须提供相应的权限或管理员密码进行验证。通过对这些操作启动前进行授权确认,UAC能够有效阻止恶意软件及间谍软件在未获授权的状态下于计算机内进行安装或实施修改。 自从Vista版本问世以来,微软便开始推行这一全新的安全机制,可视为对系统安全防护的显著提升。尽管UAC确实能够在一定程度上对某些非法程序起到防御作用,但与此同时,这一功能也给众多用户带来了诸多不便。 因此,许多用户开始探寻是否存在类似于白名单的功能,以便将那些值得信赖的程序直接赋予运行权限。事实上,这类功能确实存在,不过微软并未将其作为标准配置提供。 网络上关于此问题的绝大多数建议都是建议禁用UAC,这种说法显然缺乏针对性,因为若用户希望禁用此功能,本就不会提出相关疑问。 通过运用微软官方发布的Microsoft Application Compatibility Toolkit 5.6版本,可以将信任的程序纳入系统白名单范畴。 获取Application Compatibility Toolkit 安装程序成功后会出现三个可执行文件 以管理员身份启动Compatibility Administrator 在Custom DataBases部分创建新的数据库,并添加一个Application Fix(在下方空白处点击右键,选择...

【杭电2141】Can you find it?

我首先想到的是三重循环----超时,后来想前两个数组双重循环套第三个数组二分查找----还是超时,再后来就是现在的代码思路了300多ms。 其实和第二种想法很接近了,就是二分的对象变了,对第三个数组遍历循环,对前两个数组各项求和得到的数组求二分,因为这样就大大大大减少了循环次数,二分是省时间的嘛。 本题难点算法优化。 #include<cmath> #include<algorithm> #in

better_space的博客 828

【985系列】985的0-1串难题

1895: 985的0-1串难题 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 270  Solved: 79 SubmitStatusWeb Board Description 985有一个长度为n的0-1串,已知他最多可以修改k次(每次修改一个字符即0->1 或者 1->0),他想知道连续的全1子串最长是多少。

better_space的博客 658

【杭电oj4907】Task schedule

由于数据太大暴力循环会超时,如果先打表预处理一下就行了。#include <iostream> #include <stdio.h> #include <string.h> using namespace std; const int maxn=1e5+5; int a[maxn*2]; int b[maxn*2]; void prepare() { int ans=maxn*2;

better_space的博客 649

【杭电1969】Pie

这题也是卡精度的二分题目,我只是一个π的定义方式不同就给wa,记得以后π的定义用const double PI = acos(-1.0),就是cos函数下求π,括号内要用浮点数。 整体思路和我cable master那篇文章一样的。链接: http://blog.csdn.net/better_space/article/details/52039880#include<stdio.h> #

better_space的博客 573

【九度1502】最大值最小化

题目1502:最大值最小化 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:566 解决:214 题目描述: 在印刷术发明之前,复制一本书是一个很困难的工作,工作量很大,而且需要大家的积极配合来抄写一本书,团队合作能力很重要。 当时都是通过招募抄写员来进行书本的录入和复制工作的, 假设现在要抄写m本书,编号为1,2,3...m

better_space的博客 523

【lightoj1307】Counting Triangles

J - J 圆周率用acos(-1.0) 使用longlong Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Practice LightOJ 1307 uDebug Description You are given N sticks

better_space的博客 462

【codeforces】706B—Interesting drink

B. Interesting drink time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Vasiliy likes to rest after a hard wor

better_space的博客 445

【杭电1551】Cable master

题意:把4段网线分成11段每段至多多长。 现在总结一下二分的思想和步骤吧: 1.找到二分标准,就是对什么进行二分 2.找到两个临界点 3.判断mid时,是否满足条件,然后视情况更新l和r的值 4.我认为最重要的是while()括号内的条件选择,特别是对这种卡精度的题。#include<stdio.h> #include<math.h> const int MAXN = 1*1e4+10;

better_space的博客 438

【codeforces237C】Primes on Interval

C. Primes on Interval  time limit per test1 second  memory limit per test256 megabytes  inputstandard input  outputstandard output  You’ve decided to carry out a survey in the theory of prime num

better_space的博客 434

【Uva10566】Crossed Ladders

列出一个包含x,y,c的关系式,设宽为w,底边垂线左边为a,根据相似三角形关系: 1.a/w=c/sqrt(y*y-w*w); 2.(w-a)/w=c/sqrt(y*y-w*w); 两式合并消去a得: c/sqrt(x*x-w*w)+c/sqrt(y*y-w*w)=1; 能推出c与w有同增同减关系,所以当带入mid小于1时,实际w大于mid;反之小于mid,以此二分,再注意精度即可(误差小

better_space的博客 405

【杭电4004】The Frog's Games

思路:本题用到了二分的思想。青蛙一次跳跃的范围是0到L(题给),然后判断在一次跳跃距离为mid时能否在m次跳跃内完成,如果能完成则用一个变量记录mid,遇到更小的符合条件的一次跳跃的距离后更新该变量的值。直接输出该变量。#include<stdio.h> #include<algorithm> using namespace std; const int MAXN = 5*1e5+10; int a

better_space的博客 386

【poj3258】River Hopscotch

这题虽是二分的题,但感觉就是别扭,很难想清楚怎么设置判断。我也是看了别人的判断过程及判断依据后才成功ac。值得收藏的二分题。 判断的过程我尽量解释一下,有不清楚的地方请参阅网址: http://www.cnblogs.com/jingqi814/p/3581553.html这样讲应该能理解的: 1.首先去掉M个石头后两个石头之间会有最小的距离,本题让求这个最小距离的最大值。 2.我们二分是在

better_space的博客 362

【暑期训练3】晴天系列D题

Problem F: D Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 178  Solved: 38 SubmitStatusWeb Board Description 晴天想把一个包含n个整数的序列a分成连续的若干段,且和最大的一段的值最小,但他有强迫症,分的段数不能超过m段,然后他就不会分了。。。他想问你这个分出来的

better_space的博客 341

【杭电2199】Can you solve this equation?

这题卡精度,精确到小数点后第四位,所以while()条件用<1e-5作为限制,不能受整数二分方法的限制,重要的是二分思想,本题只要让r或l直接等于mid即可,因为浮点型除以2后不存在约数是个确定的值,不符合while()条件就跳出输出mid,简洁明了。 还有其他的二分方法,不过这个理解起来最为简单,我也是借鉴别人的代码综合而来的,却是是受益匪浅。#include<stdio.h> #include

better_space的博客 341
上一篇: 【poj3258】River Hopscotch
下一篇: 【杭电oj4907】Task schedule
better_space
博客等级 码龄10年 73粉丝 253原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值