Polycarpus‘ Dice CF534C 泡利的骰子 详细 翻译

2024-02-24 21:30

本文主要是介绍Polycarpus‘ Dice CF534C 泡利的骰子 详细 翻译,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原题链接 位于CodeForcesicon-default.png?t=M5H6https://codeforces.com/problemset/problem/534/C

题目

        泡利有n个骰子d1,d2,...dn。第i个骰子能显示的点数为1到di。泡利扔出所有的骰子并且点数总和为A。阿格里并不能看到每个骰子的点数,但她知道总和A与每个骰子的最大点数d1,d2,...dn。不过她认为这已经能让她得到以下结论:第i个骰子不能为r。比如当泡利有两个六面的骰子并且总点数为11时,阿格里能确定每个骰子的点数都不能小于5(不然的话另一个骰子的点数就要至少为7了,这当然不可能)

        对于确定的总点数A,我们都要找出每一个骰子不可能得到的点数。

输入

第一行包含两个整数n,A( 1 ≤ n ≤ 2·10^5, n ≤ A ≤ s),骰子的数量与它们的总点数。并且s为所有骰子的最大点数和。

第二行包含n个整数d1,d2,...dn (1 ≤ di ≤ 10^6),di就是第i个骰子的最大点数。

输出

打印n个整数b1, b2, ..., bn,bi就是第i个骰子不能得到的点数的个数。

样例

输入

2 8
4 4

输出

3 3 

注意:每个骰子都不能为1,2,3

输入

1 3
5

输出

注意:骰子不能为1,2,4,5

输入

2 3
2 3

输出

0 1 

注意:第一个骰子不管是什么(1或2),第二个骰子都有可能使总点数为3

第二个骰子不能为3,否则不管第一个骰子为1或是2都会使总和大于3,即不等于3

 其实这个题目只需要得出两个式子

即 不管其他骰子的点数如何 都会使点数总和小于A的点数个数

和 不管其他骰子的点数如何 都会使点数总和大于A的点数个数

要求第一条,只需要将A减去其他骰子所能达到的最大点数,就是这个骰子所需要的最小点数,只要比这个点数小,那么就是不可能取到的点数

要求第二条,只需使在所有其他骰子都是最小点数即1的情况下,这个骰子的点数仍使总和大于A即可

两者相加就是所有不能取到的点数的个数了!

#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;// 骰子不可能的取值int num[200010]; // 骰子的最大值int main()
{int i, j;long long n, A;long long sum = 0;scanf("%lld%lld", &n, &A);for (i = 0; i < n; i++){scanf("%d", &num[i]);sum += num[i];}long long ans;long long t;for (i = 0; i < n; i++){t = A - (sum-num[i]) - 1; // 第一条要求ans = t>0?t:0;t = num[i] - (A-(n-1)); // 第二条要求ans += t>0?t:0;cout << ans << ' ';}//getchar();getchar();return 0;
}

这篇关于Polycarpus‘ Dice CF534C 泡利的骰子 详细 翻译的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/743427

相关文章

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Python UV安装、升级、卸载详细步骤记录

《PythonUV安装、升级、卸载详细步骤记录》:本文主要介绍PythonUV安装、升级、卸载的详细步骤,uv是Astral推出的下一代Python包与项目管理器,主打单一可执行文件、极致性能... 目录安装检查升级设置自动补全卸载UV 命令总结 官方文档详见:https://docs.astral.sh/

Python包管理工具核心指令uvx举例详细解析

《Python包管理工具核心指令uvx举例详细解析》:本文主要介绍Python包管理工具核心指令uvx的相关资料,uvx是uv工具链中用于临时运行Python命令行工具的高效执行器,依托Rust实... 目录一、uvx 的定位与核心功能二、uvx 的典型应用场景三、uvx 与传统工具对比四、uvx 的技术实