Educational Codeforces Round 103 (Rated for Div. 2) A. K-divisible Sum 题解 构造

K-divisible Sum

题目描述

You are given two integers n n n and k k k.

You should create an array of n n n positive integers a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,,an such that the sum ( a 1 + a 2 + ⋯ + a n ) (a_1 + a_2 + \dots + a_n) (a1+a2++an) is divisible by k k k and maximum element in a a a is minimum possible.

What is the minimum possible maximum element in a a a?

输入描述

The first line contains a single integer t t t ( 1 ≤ t ≤ 1000 1 \le t \le 1000 1t1000) — the number of test cases.

The first and only line of each test case contains two integers n n n and k k k ( 1 ≤ n ≤ 1 0 9 1 \le n \le 10^9 1n109; 1 ≤ k ≤ 1 0 9 1 \le k \le 10^9 1k109).

输出描述

For each test case, print one integer — the minimum possible maximum element in array a a a such that the sum ( a 1 + ⋯ + a n ) (a_1 + \dots + a_n) (a1++an) is divisible by k k k.

样例 #1

样例输入 #1

4
1 5
4 3
8 8
8 17

样例输出 #1

5
2
1
3

提示

In the first test case n = 1 n = 1 n=1, so the array consists of one element a 1 a_1 a1 and if we make a 1 = 5 a_1 = 5 a1=5 it will be divisible by k = 5 k = 5 k=5 and the minimum possible.

In the second test case, we can create array a = [ 1 , 2 , 1 , 2 ] a = [1, 2, 1, 2] a=[1,2,1,2]. The sum is divisible by k = 3 k = 3 k=3 and the maximum is equal to 2 2 2.

In the third test case, we can create array a = [ 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ] a = [1, 1, 1, 1, 1, 1, 1, 1] a=[1,1,1,1,1,1,1,1]. The sum is divisible by k = 8 k = 8 k=8 and the maximum is equal to 1 1 1.

原题

CF——传送门

思路

我们把 s u m sum sum 表示为数组 a a a 的和。因为 s u m sum sum 能被 k k k 整除,所以令 s u m = n u m ⋅ k sum = num \cdot k sum=numk。同时又因为所有的 a i a_i ai 都是正数,所以 s u m ≥ n sum \ge n sumn。显然, s u m sum sum 的值越小,最大值 a m a x a_{max} amax 就越小,所以我们需找到使得 s u m ≥ n sum \ge n sumn 成立的最小的 n u m num num,即 ⌈ n k ⌉ \left\lceil \frac{n}{k} \right\rceil kn。确定了 n u m num num 的值后, s u m sum sum 的值也就确定了,即 s u m = n u m ⋅ k sum = num \cdot k sum=numk
那么剩下的问题就是:和为 s u m sum sum,长度为 n n n 的数组,如何构造使得其中的最大值最小 ?对于这个问题,我们利用贪心的思想,在数组的 n n n 个位置上逐个地填补 1 1 1,循环这个操作直至 s u m sum sum 拆成 s u m sum sum 1 1 1 后全部被填补到数组里。通过这样的方式,我们总是可以构造出数组 a a a ,它的和等于 s u m sum sum,长度等于 n n n,最大元素的值等于 ⌈ s n ⌉ \left\lceil \frac{s}{n} \right\rceil ns

代码

#include <bits/stdc++.h>
using namespace std;
using i64 = long long;
typedef long long ll;int main()
{ios::sync_with_stdio(0);cin.tie(0);int t;cin >> t;while (t--){i64 n, k;cin >> n >> k;i64 num = ceil(1.0 * n / k);i64 sum = num * k;i64 maxn = ceil(1.0 * sum / n);cout << maxn << '\n';}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/23094.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何将华为Ascend手机的短信和联系人安全传输到电脑

华为Ascend系列手机以其流畅的使用体验、光滑的触感以及轻巧的设计赢得了市场的青睐。不仅如此&#xff0c;Ascend系列手机还以亲民的价格和出色的用户体验&#xff0c;搭载了众多先进功能&#xff0c;如Ascend P6的4.7英寸大屏、海思四核处理器、2GB RAM和800万像素摄像头等。…

深入理解HTTP与TCP:应用层与传输层的区分

一、前言 在互联网协议栈中&#xff0c;应用层和传输层是两个重要的层级&#xff0c;分别承载了不同的功能。HTTP&#xff08;HyperText Transfer Protocol&#xff09;作为应用层协议&#xff0c;而TCP&#xff08;Transmission Control Protocol&#xff09;则是传输层协议&…

66、API攻防——接口安全阿里云KEYPostmanDVWS

文章目录 一、工具使用——Postman自动化测试二、安全问题——Dvws泄露&鉴权&XXE三、安全问题——阿里KEY信息泄露利用 dvws-node 一、工具使用——Postman自动化测试 二、安全问题——Dvws泄露&鉴权&XXE 路径中出现/api/&#xff0c;一般都是接口。 请求包是…

qt 画多边形,可以拖拽

目录 qt 画多边形,顶点拖拽是局部拖拽,中间拖拽是整体拖拽 每秒更新图片

宏集Panorama SCADA:个性化定制,满足多元角色需求

前言 在考虑不同人员在企业中的职能和职责时&#xff0c;他们对于SCADA系统的需求可能因其角色和工作职责的不同而有所差异。在SCADA系统的设计和实施过程中&#xff0c;必须充分考虑和解决这种差异性。 为了满足不同人员的需求, 宏集Panorama SCADA平台具备灵活的功能和定制…

Spring Boot 应用打 WAR 包后无法注册到 Nacos怎么办

你好&#xff0c;我是柳岸花开。 在微服务架构中&#xff0c;服务注册与发现是至关重要的一环。Nacos 作为阿里巴巴开源的注册中心&#xff0c;能够很好地满足这一需求。然而&#xff0c;在将 Spring Boot 应用打包成 WAR 部署到外部服务器时&#xff0c;可能会遇到服务无法注册…

gitlab-jh的docker容器自动退出/gitlab镜像版本/升级问题

背景 上个月用docker部署了一个gitlab-jh的服务&#xff0c;给小组上传代码使用&#xff0c;这个月由于机器故障重装系统&#xff0c;当我重新部署好gitlab后发现docker容器启动后会闪退&#xff0c;为寻因果&#xff0c;故作此篇 docker-compose.yml 文件 version: 3.6 ser…

基于R语言BIOMOD2 及机器学习方法的物种分布模拟

BIOMOD2是一个R软件包&#xff0c;用于构建和评估物种分布模型&#xff08;SDMs&#xff09;。它集成了多种统计和机器学习方法&#xff0c;如GLM、GAM、SVM等&#xff0c;允许用户预测和分析物种在不同环境条件下的地理分布。通过这种方式&#xff0c;BIOMOD帮助研究者评估气候…

AWS EMR Serverless

AWS概述 EMR Serverless 简介 在AWS概述一文中简单介绍过AWS EMR, 它是AWS提供的云端大数据平台。借助EMR可以设置集群以便在几分钟内使用大数据框架处理和分析数据。创建集群可参考官方文档&#xff1a;Amazon EMR 入门。但集群创建之后需要一直运行&#xff0c;用户需要管理…

Java:数组

文章目录 一、数组的介绍二、数组的定义2.1 静态初始化2.2 动态初始化 三、常见操作3.1 访问数据3.2 修改数据3.3 常见问题 四、数组内存图&#xff08;难点&#xff09;4.1 前置知识4.2 执行流程 五、结语 一、数组的介绍 Java中的数组是一种基本的数据结构&#xff0c;它能够…

Nginx+Tomcat负载均衡、动静分离集群

目录 1.Nginx负载均衡 1.1 负载均衡概念 1.2 负载均衡原理 1.3 Nginx配置反向代理 1.3.1 反向代理概念 1.3.2 反向代理主要参数 2.Nginx动静分离 2.1 动静分离的概念 2.2 Nginx 静态处理优势 2.3 动静分离原理 3. NginxTomcat动静分离的实验设计 3.1 准备三台虚拟机…

js 选择一个音频文件,绘制音频的波形,从右向左逐渐前进。

选择一个音频文件&#xff0c;绘制波形&#xff0c;从右向左逐渐前进。 完整代码&#xff1a; <template><div><input type"file" change"handleFileChange" accept"audio/*" /><button click"stopPlayback" :…

Typora编辑的markdown文档莫名其妙消失或未保存--解决方案【亲测可行】

由于误触键盘导致文件关闭&#xff0c;打开文件之后发现里面文字全没了~气死了&#xff01;&#xff01;&#xff01;&#xff01; 可以通过如下方法解决&#xff01; 一、打开typora 二、【文件】-【偏好设置】 三、点击恢复未保存的草稿&#xff0c;找到最近的文件复制粘贴…

django 内置 JSON 字段 使用场景

Django 内置的 JSON 字段&#xff08;JSONField&#xff09;是在 Django 3.1 版本中引入的&#xff0c;用于处理 JSON 格式的数据。JSONField 允许在数据库表中存储和查询 JSON 数据&#xff0c;并且在与 Python 代码交互时自动转换为合适的 Python 数据类型。以下是一些常见的…

nignx简易安装脚本

yum -y install gcc gcc-c pcre pcre-devel gd-devel openssl openssl-devel zlib zlib-devel id nginx || useradd nginx wget http://nginx.org/download/nginx-1.16.0.tar.gz tar xzf nginx-1.16.0.tar.gz cd nginx-1.16.0/ #预编译 ./configure \ --prefix/usr/loc…

2024050302-重学 Java 设计模式《实战享元模式》

重学 Java 设计模式&#xff1a;实战享元模式「基于Redis秒杀&#xff0c;提供活动与库存信息查询场景」 一、前言 程序员&#x1f468;‍&#x1f4bb;‍的上下文是什么&#xff1f; 很多时候一大部分编程开发的人员都只是关注于功能的实现&#xff0c;只要自己把这部分需求…

Facebook商城号怎么做?思路与操作分析

2016 年&#xff0c;Facebook打造了同名平台 Facebook Marketplace。通过利用 Facebook 现有的庞大客户群&#xff0c;该平台取得了立竿见影的成功&#xff0c;每月访问量将超过 10 亿。对于个人卖家和小企业来说&#xff0c;Facebook Marketplace是一个不错的销货渠道&#xf…

动态规划实现斐波那契数列,时间复杂度和空间复杂度解析

动态规划实现斐波那契数列 代码回顾&#xff1a; #include <iostream> using namespace std;// 动态规划实现&#xff0c;时间复杂度 O(n) unsigned long long fibonacciDP(int n) {if (n < 1) return n;unsigned long long prev2 0;unsigned long long prev1 1;u…

【面试宝藏】Redis 常见面试题解析其二

Redis 高级面试题解析 20. 说说 Redis 哈希槽的机制&#xff1f; Redis 集群采用哈希槽&#xff08;Hash Slot&#xff09;机制来分布和管理数据。整个哈希空间被划分为 16384 个槽&#xff0c;每个键通过 CRC16 校验后取模映射到一个哈希槽。每个节点负责一部分哈希槽&#…

【二进制部署k8s-1.29.4】十一、metallb的安装部署

文章目录 简介 一.安装metallb二.配置metallb三.验证metallb 简介 本章节主要讲解安装metallb-v0.7.1的安装&#xff0c;metallb算是平民版的负载均衡&#xff0c;用于测试、访问量较小的情况还是比较不错的&#xff0c;但是对于请求量比较的时候&#xff0c;由于流量都集中在一…