当前位置: 首页 > article >正文

P12167 [蓝桥杯 2025 省 C/Python A] 倒水

P12167 [蓝桥杯 2025 省 C/Python A] 倒水

题目描述

小蓝有 n n n 个装了水的瓶子,从左到右摆放,第 i i i 个瓶子里装有 a i a_i ai 单位的水。为了美观,小蓝将水循环染成了 k k k 种颜色,也就是说,第 i i i 个瓶子和第 i + k i + k i+k 个瓶子里的水的颜色相同。

小蓝发现有的瓶子里的水太少了,因此他规定如果第 i i i 个瓶子和第 j j j 个瓶子中的水颜色相同并且满足 i < j i < j i<j,即可将任意整数单位的水从第 i i i 个水瓶倒出,倒入第 j j j 个水瓶中。小蓝想知道任意次操作后所有瓶子中的水的最小值 min ⁡ { a i } \min\{a_i\} min{ai} 最大可以是多少?

输入格式

输入的第一行包含两个正整数 n , k n, k n,k,用一个空格分隔。

第二行包含 n n n 个正整数 a 1 , a 2 , ⋯ , a n a_1, a_2, \cdots, a_n a1,a2,,an,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

输入输出样例 #1
输入 #1
7 3
8 5 5 2 2 3 4
输出 #1
3
说明/提示
样例说明

其中一种方案:

  • a 1 a_1 a1 a 4 a_4 a4 倒入 3 3 3 单位;
  • a 2 a_2 a2 a 5 a_5 a5 倒入 2 2 2 单位;
  • a 3 a_3 a3 a 6 a_6 a6 倒入 1 1 1 单位;
    最终每个瓶子里的水: 5 , 3 , 4 , 5 , 4 , 4 , 4 5, 3, 4, 5, 4, 4, 4 5,3,4,5,4,4,4,最小值为 3 3 3
评测用例规模与约定
  • 对于 40 % 40\% 40% 的评测用例, 1 ≤ n , a i ≤ 100 1 \leq n, a_i \leq 100 1n,ai100
  • 对于所有评测用例, 1 ≤ n , a i ≤ 100000 1 \leq n, a_i \leq 100000 1n,ai100000 1 ≤ k ≤ n 1 \leq k \leq n 1kn

P12167 [蓝桥杯 2025 省 C/Python A] 倒水

【思路分析】

求最小值最大,一般考虑二分。而这个题可以按照不同颜色进行分组,判断能否将所有分组的最小值达到某数x,而x通过二分进行查找

import java.util.*;
import java.io.*;
public class Main {static int[] a = new int[100005];static int n, k;// 检查是否可以使每个颜色组的瓶子水量最小值达到 xstatic boolean check(int x) {// 遍历每个颜色组for (int i = 1; i <= k; i++) {// j 用于遍历当前颜色组内的瓶子int j = i;// d 用于记录当前颜色组内水量的盈余情况long d = 0;// 遍历当前颜色组内的所有瓶子while (j <= n) {// 如果当前瓶子的水量大于等于 xif (a[j] >= x) {// 计算当前瓶子的水量盈余,并累加到 d 中d += a[j] - x;} else {// 如果当前瓶子的水量小于 x,计算需要补充的水量,并从 d 中扣除d -= (x - a[j]);}// 如果盈余水量小于 0,说明无法使当前颜色组内所有瓶子的水量都达到 xif (d < 0) {return false;}// 移动到下一个同颜色组的瓶子j += k;}}// 如果所有颜色组都能满足条件,则返回 truereturn true;}public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String[] row1 = br.readLine().split(" ");n = Integer.parseInt(row1[0]);k = Integer.parseInt(row1[1]);String[] data = br.readLine().split(" ");for (int i = 1; i <= n; i++) {a[i] = Integer.parseInt(data[i - 1]);}int l = 1;int r = 100000;while (l <= r) {int mid = (l + r) >> 1;if (check(mid)) {l = mid + 1;} else {r = mid - 1;}}System.out.println(l - 1);br.close();}
}    

相关文章:

P12167 [蓝桥杯 2025 省 C/Python A] 倒水

P12167 [蓝桥杯 2025 省 C/Python A] 倒水 题目描述 小蓝有 n n n 个装了水的瓶子&#xff0c;从左到右摆放&#xff0c;第 i i i 个瓶子里装有 a i a_i ai​ 单位的水。为了美观&#xff0c;小蓝将水循环染成了 k k k 种颜色&#xff0c;也就是说&#xff0c;第 i i i …...

TCP协议理解

文章目录 TCP协议理解理论基础TCP首部结构图示字段逐项解析 TCP是面向连接&#xff08;Connection-Oriented&#xff09;面向连接的核心表现TCP 面向连接的核心特性TCP 与UDP对比 TCP是一个可靠的(reliable)序号与确认机制&#xff08;Sequencing & Acknowledgment&#xf…...

用 LangChain 手搓 RAG 系统:从原理到实战

一、RAG 系统简介 在当今信息爆炸的时代&#xff0c;如何高效地从海量数据中获取有价值的信息并生成准确、自然的回答&#xff0c;成为了人工智能领域的重要课题。检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;RAG&#xff09;系统应运而生&#xff0c;…...

联合体和枚举类型

1.联合体类型 1.1:联合体类型变量的创建 与结构体类型一样&#xff0c;联合体类型 (关键字:union) 也是由⼀个或者多个成员变量构成&#xff0c;这些成员变量既可以是不同的类型&#xff0c;也可以是相同的类型。但是编译器只为最⼤的成员变量分配⾜够的内存空间。联合体的特…...

一种企业信息查询系统设计和实现:xujian.tech/cs

一种企业信息查询系统设计和实现&#xff1a;xujian.tech/cs 背景与定位 企业在对外合作、风控审查或市场调研时&#xff0c;常需快速获取公开的工商信息。本文介绍一个企业信息搜索引擎&#xff0c;面向普通用户与开发者&#xff0c;帮助快速定位企业名称、统一社会信用代码…...

C语言指针5

1.void*概述 void称为无类型&#xff0c;void*称为无类型指针&#xff0c;void不可以单独定义变量&#xff0c;却可以定义无类型的指针&#xff0c;而且所定义的指针称为泛型指针&#xff0c;所谓泛型指针&#xff0c;其含义是void*类型的指针可以接收一切类型变量的地址 struc…...

[4A/OP]

2.2 安装程序 2.2.1 解压缩.tar.gz文件 调用UNIX命令tar会在当前目录下创建4A/OP子例程主目录4AOP-1.5/&#xff0c;包括所有必要的子目录。只需键入以下命令即可解压缩和“untar”4AOP-1.5.tar.gz&#xff1a; tar -xzvf 4AOP-1.5.tar.gz4AOP-1.5/目录现在应该已经创建&…...

来云台跑腿配送平台:用户体验至上的服务理念

来云台跑腿配送平台始终秉持用户体验至上的服务理念&#xff0c;从下单到收货的每一个环节&#xff0c;都致力于为用户提供优质、便捷的服务。​ 简洁的下单流程是良好体验的开端。用户通过 APP 或小程序&#xff0c;只需几步操作就能完成下单。清晰的服务分类、自动定位功能和…...

本地部署 Dify + Ollama 到 D盘,并挂载本地大模型 的完整教程,结合 Docker 运行环境

一、环境准备 1. 软件与硬件要求 • 操作系统&#xff1a;Windows 10/11 专业版&#xff08;需开启 Hyper-V&#xff09; • 硬件配置&#xff1a; • CPU ≥ 4核&#xff08;推荐 Intel i5 及以上&#xff09; • 内存 ≥ 16GB&#xff08;大模型运行需预留 8GB 以上&#…...

文档构建:Sphinx全面使用指南 — 强化篇

文档构建&#xff1a;Sphinx全面使用指南 — 强化篇 Sphinx 是一款强大的文档生成工具&#xff0c;使用 reStructuredText 作为标记语言&#xff0c;通过扩展兼容 Markdown&#xff0c;支持 HTML、PDF、EPUB 等多种输出格式。它具备自动索引、代码高亮、跨语言支持等功能&#…...

深度理解C语言函数之strlen()的模拟实现

文章目录 前言一、strlen的模拟实现二、模拟实现代码及思路2.1 计数法2.2 指针相减法三、递归计数法 总结 前言 我写这篇文章的目的主要是帮助理解C语言中重要函数的用法&#xff0c;后面也会总结C相关的函数的模拟实现&#xff0c;这里的算法不一定是最好的&#xff0c;因为只…...

0基础 | Proteus仿真 | 51单片机 | 继电器

继电器---RELAY 本次选择一款5v一路继电器进行讲解 信号输入 IN1输入高电平&#xff0c;三极管导通&#xff0c;LED1点亮&#xff0c;电磁铁12接通吸引3向下与4接通&#xff0c;J1A的12接通 IN1输入低电平&#xff0c;则J1A的23接通 产品引脚定义及功能 序号 引脚符号 引脚…...

Python解析地址中省市区街道

Python解析地址中省市区街道 1、效果 输入&#xff1a;海珠区沙园街道西基村 输出&#xff1a; 2、导入库 pip install jionlp3、示例代码 import jionlp as jiotext 海珠区沙园街道西基村 res jio.parse_location(text, town_villageTrue) print(res)...

在vscode终端中运行npm命令报错

解决方案 这个错误信息表明&#xff0c;你的系统&#xff08;可能是 Windows&#xff09;阻止了 PowerShell 执行脚本&#xff0c;这是由于 PowerShell 的执行策略导致的。PowerShell 的执行策略控制着在系统上运行哪些 PowerShell 脚本。默认情况下&#xff0c;Windows 可能…...

提升变电站运维效率:安科瑞无线测温系统创新应用

一、引言 变电站作为电力系统的关键枢纽&#xff0c;承担着变换电压、分配电能以及控制电力流向等重要任务。在变电站的运行过程中&#xff0c;电气设备的接点温度监测至关重要。过热问题可能由多种因素引发&#xff0c;如电阻过大、接头质量欠佳、衔接不紧密、物理老化等&…...

vue3 使用 vite 管理多个项目,实现各子项目独立运行,独立打包

场景&#xff1a; 之前写过一篇 vite vue2 的配置&#xff0c;但是现在项目使用 vue3 较多&#xff0c;再更新一下 vue脚手架初始化之后的项目&#xff0c;每个项目都是独立的&#xff0c;导致项目多了之后&#xff0c;node依赖包过多&#xff0c;占用内存较多。想实现的效果…...

WebRTC服务器Coturn服务器用户管理和安全性

1、概述 Coturn服务器对用户管理和安全方面也做了很多的措施&#xff0c;以下会介绍到用户方面的设置 1.1、相关术语 1.1.1 realm 在 coturn 服务器中&#xff0c;域&#xff08;realm&#xff09;是一种逻辑上的分组概念&#xff0c;用于对不同的用户群体、应用或者服务进行区…...

如何使用极狐GitLab 的外部状态检查功能?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 外部状态检查 (ULTIMATE ALL) pending 状态引入于极狐GitLab 16.5 pending 状态检查的超时时间为两分钟引入于极狐GitLab 16…...

如何在 Element UI 中优雅地使用 `this.$loading` 显示和隐藏加载动画

如何在 Element UI 中优雅地使用 this.$loading 显示和隐藏加载动画 在现代 Web 应用开发中&#xff0c;用户体验至关重要。当执行耗时操作&#xff08;如网络请求或数据处理&#xff09;时&#xff0c;显示一个友好的加载动画可以让用户知道系统正在工作&#xff0c;而不是卡…...

大模型微调 - 自注意力机制

一.什么是自注意力机制 注意力机制&#xff08;Attention Mechanism&#xff09;是一种能够根据输入的相关性动态分配权重的机制&#xff0c;广泛应用于自然语言处理、计算机视觉等领域。其核心思想是&#xff1a;“让模型在处理当前元素时&#xff0c;关注与其最相关的其他部…...

TDengine 集群高可用方案设计(二)

四、TDengine 集群高可用方案设计 4.1 硬件与网络架构设计 服务器选型&#xff1a;选择配置高、稳定性强的服务器&#xff0c;如戴尔 PowerEdge R740xd、华为 RH2288H V5 等。以戴尔 PowerEdge R740xd 为例&#xff0c;它配备英特尔至强可扩展处理器&#xff0c;具备高性能计…...

【Langchain】RAG 优化:提高语义完整性、向量相关性、召回率--从字符分割到语义分块 (SemanticChunker)

RAG 优化&#xff1a;提高语义完整性、向量相关性、召回率–从字符分割到语义分块 (SemanticChunker) 背景&#xff1a;提升 RAG 检索质量 在构建基于知识库的问答系统&#xff08;RAG&#xff09;时&#xff0c;如何有效地将原始文档分割成合适的文本块&#xff08;Chunks&a…...

深入剖析扣子智能体的工作流与实战案例

前面我们已经初步带大家体验过扣子工作流&#xff0c;工作流程是 Coze 最为强大的功能之一&#xff0c;它如同扣子中蕴含的奇妙魔法工具&#xff0c;赋予我们的机器人处理极其复杂问题逻辑的能力。 这篇文章会带你更加深入地去理解并运用工作流解决实际问题 目录 一、工作流…...

C++----模拟实现string

模拟实现string&#xff0c;首先我们要知道成员变量有哪些&#xff1a; class _string{private:char* _str;size_t capacity;//空间有多大size_t size;//有效字符多少const static size_t npos;};const size_t _string::npos-1;//static在外面定义不需要带static&#xff0c;np…...

CodeMeter Runtime 安装失败排查与解决指南

CodeMeter Runtime 是威步提供的核心运行服务组件&#xff0c;用于加密授权的识别与管理。如果安装过程中出现异常或中断&#xff0c;常见原因包括系统冲突程序、数字签名校验失败、安全软件干扰或权限不足。 以下为推荐的完整排查步骤&#xff1a; 1. 检查并清理冲突程序或驱动…...

基于K8s日志审计实现攻击行为检测

K8s日志审计以一种事件溯源的方式完整记录了所有API Server的交互请求。当K8s集群遭受入侵时&#xff0c;安全管理员可以通过审计日志进行攻击溯源&#xff0c;通过分析攻击痕迹&#xff0c;找到攻击者的入侵行为并还原攻击者的攻击路径&#xff0c;修复安全问题。 在本篇文章中…...

【Linux网络编程】应用层协议HTTP(实现一个简单的http服务)

目录 前言 一&#xff0c;HTTP协议 1&#xff0c;认识URL 2&#xff0c;urlencode和urldecode 3&#xff0c;HTTP协议请求与响应格式 二&#xff0c;myhttp服务器端代码的编写 HTTP请求报文示例 HTTP应答报文示例 代码编写 网络通信模块 处理请求和发送应答模块 结…...

短视频+直播商城系统源码全解析:音视频流、商品组件逻辑剖析

时下&#xff0c;无论是依托私域流量运营的品牌方&#xff0c;还是追求用户粘性与转化率的内容创作者&#xff0c;搭建一套完整的短视频直播商城系统源码&#xff0c;已成为提升用户体验、增加商业变现能力的关键。本文将围绕三大核心模块——音视频流技术架构、商品组件设计、…...

STM32定时器---基本定时器

目录 一、定时器的概述 二、时基单元 三、基本定时器的的时序 &#xff08;1&#xff09;预分频器时序 &#xff08;2&#xff09;计数器时序 四、基本定时器的使用 一、定时器的概述 在没有定时器的时候&#xff0c;我们想要延时往往都是写一个Delay函数&#xff0c;里面…...

mysql快速在不同库中执行相同的sql

目录 背景 解决方案 方式一&#xff1a;利用变量拼接好sql&#xff0c;复制出来执行&#xff08;简单&#xff0c;推荐&#xff09; 方式二&#xff1a;使用存储过程和游标实现&#xff08;比较复杂&#xff0c;脚本需要拼接一个完整的&#xff0c;也比较麻烦&#xff0c;不…...