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

相关文章

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

最详细安装 PostgreSQL方法及常见问题解决

《最详细安装PostgreSQL方法及常见问题解决》:本文主要介绍最详细安装PostgreSQL方法及常见问题解决,介绍了在Windows系统上安装PostgreSQL及Linux系统上安装Po... 目录一、在 Windows 系统上安装 PostgreSQL1. 下载 PostgreSQL 安装包2.

MySql match against工具详细用法

《MySqlmatchagainst工具详细用法》在MySQL中,MATCH……AGAINST是全文索引(Full-Textindex)的查询语法,它允许你对文本进行高效的全文搜素,支持自然语言搜... 目录一、全文索引的基本概念二、创建全文索引三、自然语言搜索四、布尔搜索五、相关性排序六、全文索引的限制七

python中各种常见文件的读写操作与类型转换详细指南

《python中各种常见文件的读写操作与类型转换详细指南》这篇文章主要为大家详细介绍了python中各种常见文件(txt,xls,csv,sql,二进制文件)的读写操作与类型转换,感兴趣的小伙伴可以跟... 目录1.文件txt读写标准用法1.1写入文件1.2读取文件2. 二进制文件读取3. 大文件读取3.1

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

C++ vector的常见用法超详细讲解

《C++vector的常见用法超详细讲解》:本文主要介绍C++vector的常见用法,包括C++中vector容器的定义、初始化方法、访问元素、常用函数及其时间复杂度,通过代码介绍的非常详细,... 目录1、vector的定义2、vector常用初始化方法1、使编程用花括号直接赋值2、使用圆括号赋值3、ve

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优