2021杭电暑假多校9_1010.Unfair contest(分类讨论)_unfair contest 多校-程序员宅基地

技术标签: 杭电2021多校  

1010.Unfair contest

题目大意:

意思是总共 n n n个裁判,裁判要求打分区间在 [ 1 , h ] [1,h] [1,h]内,同时你已经知道前 n − 1 n-1 n1个裁判对AB两人的打分 a 1 , a 2 , a 3 . . . a n − 1 ; b 1 , b 2 . . . b n − 1 ; a_1,a_2,a_3...a_n-_1;b_1,b_2...b_n-_1; a1,a2,a3...an1b1,b2...bn1,比赛评价机制是总分去掉 s s s个最高分再去掉 t t t个最低分后的总和比较。你希望A胜利,但又不希望太明显,所以会想办法在让A能赢的情况下让 ∣ a n − b n ∣ |a_n-b_n| anbn尽可能小。

思路:

请添加图片描述
第三种情况中,差值原本只是sumb-suma。但是在两种特殊情况下,差值需要特取。

代码:

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
const int maxn = 1e5 + 10;
ll a[maxn], b[maxn];

int main() {
    
    int T;
    scanf("%d", &T);
    while (T--) {
    
        int n, s, t;
        ll h;
        scanf("%d%d%d%lld", &n, &s, &t, &h);
        n--;
        for (int i = 1; i <= n; i++) {
    
            scanf("%lld", &a[i]);
        }
        for (int i = 1; i <= n; i++) {
    
            scanf("%lld", &b[i]);
        }

        sort(a + 1, a + n+1);
        sort(b + 1, b + n+1);
        a[n + 1] = h;
        b[n + 1] = h;
        b[0] = 1;
        a[0] = 1;
        //对于 s = 0 以及 t = 0 特判
        //al=suma+a[0],ar=suma+a[n+1];
        //可以证明是特判处理是正确的。
        ll suma=0,sumb=1;
        for(int i=t+1;i<=n-s;i++)
            suma+=a[i],sumb+=b[i];
        ll al=suma+a[t],ar=suma+a[n-s+1];
        ll bl=sumb+b[t],br=sumb+b[n-s+1];
        if(ar<bl)
            printf("IMPOSSIBLE\n");
        else if(al>=br)
            printf("%lld\n",1-h);
        else{
    
            ll tmp=0;
            if(al>=bl)
                tmp=max(tmp,a[t]-1);
            if(ar>=br)
                tmp=max(tmp,h-b[n-s+1]);
            printf("%lld\n",sumb-suma-tmp);
        }
    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45849398/article/details/119773257

智能推荐

大道至简——RISC-V架构之魂(上)_rsiv-c架构-程序员宅基地

文章浏览阅读1w次。本文为《RISC-V CPU设计》专栏和《RISC-V嵌入式软件开发》专栏系列文章之一。注:本文节选自“硅农亚历山大”所著国内第一本系统介绍CPU与RISC-V设计的中文书籍《手把手教你设计CPU:RISC-V处理器篇》(预计将于2018年3~4月上市)。“大道至简——RISC-V架构之魂”——分成上中下三篇,本文是上篇。关注文末公众号后可查询上中下三篇的内容。注意:本文中将会多次出现“..._rsiv-c架构

超越RFC3550 - RTP/RTCP协议族分析_什么情况下使用rtp/avpf-程序员宅基地

文章浏览阅读651次。一 前言RF3550定义实时传输协议RTP和它的控制协议RTCP。RTP协议是Internet上针对流媒体传输的基础协议,该协议详细说明在互联网上传输音视频的标准数据包格式。RTP本身只保证实时数据的传输,并不能提供可靠传输、流量控制和拥塞控制等服务质量保证,这需要RTCP协议提供这些服务。RTCP协议负责流媒体的传输质量保证,提供流量控制和拥塞控制等服务。在RTP会话期间,各参与者周期性_什么情况下使用rtp/avpf

c++遇到无法打开PDB文件该怎么解决?_已加载“c:\windows\system32\ucrtbased.dll”。无法查找或打开 pdb-程序员宅基地

文章浏览阅读4.6k次,点赞7次,收藏7次。“Project2.exe”(Win32): 已加载“D:\c++\Project2\Debug\Project2.exe”。已加载符号。“Project2.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。“Project2.exe”(Win32): 已加载“C:\Windows\SysWOW64\kernel32.dll”。无法查找或打开 PDB 文件。“Project2.exe”(Win32): 已加载“C:\Windo_已加载“c:\windows\system32\ucrtbased.dll”。无法查找或打开 pdb 文件。

idea没有push按钮-程序员宅基地

文章浏览阅读3.1k次,点赞6次,收藏11次。intellij idea不显示git push按钮的解决办法_idea没有push按钮

vfc格式linux,科学网—GBS hapmap 格式 转化为Plink格式:tassel vcftools方法汇总 - 邓飞的博文...-程序员宅基地

文章浏览阅读615次。1. 参考资料环境:linux系统2. 安装软件首先,要安装anaconda或者miniconda,然后使用conda install进行软件安装, 安装conda方法:https://docs.anaconda.com/anaconda/install/linux/2.1 安装tasselgit clone https://bitbucket.org/tasseladmin/tassel-5-s..._tassel 补充 vcf数据

mysql8.0.28下载安装教程(win10),一键安装,超详细_mysql数据库驱动程序版本8.0.28下载-程序员宅基地

文章浏览阅读1.2w次,点赞6次,收藏60次。一、下载大家可以从mysql的官方网站下载,但是官网下载较慢,并且需要注册Oracle账号,我已经下载到【我的网盘】,文件包括mysql8.0.28的安装文件以及客户端工具navicat16的文件。二、安装安装前需确认是否有旧版本,如果有则先卸载后再做新版本安装,如果原先版本有数据可以先将数据导出备份,然后导入到新版本。1、解压下载的压缩文件到自己的目录,我这里放在D:\\下,最好不要放在中文目录下,有可能出现意想不到的问题。我的安装目录就是D:\mysql-8.0.28,这个下一步需要配置_mysql数据库驱动程序版本8.0.28下载

随便推点

matlab 二进制补码转十进制,MATLAB浮点数与定点二进制补码互转算法验证方案-程序员宅基地

文章浏览阅读1k次。最近本人一直在学习ZYNQSOC的使用,目的是应对科研需要,做出通用的算法验证平台。大概思想是:ZYNQPS端负责与MATLAB等上位机数据分析与可视化软件交互:既可传输数据,也能通过上位机配置更新硬件算法模块配置寄存器内容,同时可计算分析PL端算法实现性能指标。PL端的FPGA逻辑则负责算法的硬件实现,以探索高效并行硬件架构。为此本人后续会持续编写《利用ZYNQSOC快速打开算法验证通路》系列专..._matlab 补码转为十进制数

Megatron-LM:简单读读TransformerEngine(transformer_engine)-程序员宅基地

文章浏览阅读665次,点赞10次,收藏8次。得益于PyTorch灵活的外部扩展形式,只要不去触碰框架底层运行机制,仅仅在算子层面上的修改还是相当简单。这其实就是PyTorch的一个拓展,为了利用FP8的特性,针对Transformer里面的Kernel进行了重写,包含了一系列LayerNorm, GeLU, ScaledSoftmax等。具体到每一个算子实现动态范围调整的原理其实很简单,通过记录历史的abs max值,来去调整最终缩放的范围。在FP16下,其数据范围还是足够大的,因此在AMP下,_transformer_engine

Autowired的底层实现原理_autowrited-程序员宅基地

文章浏览阅读894次。1、概述使用spring开发时,进行配置主要有两种方式,一是的方式,二是java config的方式。spring技术自身也在不断的发展和改变,从当前springboot的火热程度来看,java config的应用是越来越广泛了,在使用java config的过程当中,我们不可避免的会有各种各样的注解打交道,其中,我们使用最多的注解应该就是@Autowired注解了。这个注解的功能就是为我们注入一个定义好的bean2、应用:2.1、应用与构造方法注入2.2、应用与setter方法注入。_autowrited

人脸识别与检测:安全与识别的关键-程序员宅基地

文章浏览阅读360次,点赞4次,收藏8次。1.背景介绍人脸识别与检测是计算机视觉领域的一个重要研究方向,它在安全、识别等方面发挥着重要作用。本文将从以下几个方面进行阐述:背景介绍核心概念与联系核心算法原理和具体操作步骤以及数学模型公式详细讲解具体最佳实践:代码实例和详细解释说明实际应用场景工具和资源推荐总结:未来发展趋势与挑战附录:常见问题与解答1. 背景介绍人脸识别与检测技术的发展历程可以追溯到20世纪...

ssm+mysql“旧物传情”二手交易系统-计算机毕业设计源码03519_交易系统用例图-程序员宅基地

文章浏览阅读1k次。二手商品模块:商品信息,商品展示,类目添加,类目管理新闻资讯模块:资讯内容,资讯列表,资讯模块订单模块:订单修改,订单支付,订单信息,订单管理用户模块:登录,注册,用户管理留言反馈模块:回复内容,留言用户,留言内容_交易系统用例图

087基于深度学习的工地安全帽检测-程序员宅基地

文章浏览阅读367次,点赞5次,收藏9次。084基于CNN卷积神经网络的核桃品质检测_含10多种模型包括alexnet、DenseNet、DLA、GoogleNet、Mobilenet、ResNet、ResNeXt、083基于深度学习的手势识别小程序版本_含10多种模型包括alexnet、DenseNet、DLA、GoogleNet、Mobilenet、ResNet、ResNeXt、S。117nlp自然语言处理-文本情感分类-joy-sadness-anger-fear-love-surprise')