The Parade (二分)

DeerFlow 系列教程 第十八篇 | 实战案例三——用 DeerFlow 构建自定义 AI 工作流 在实际业务中,许多复杂的内容生产任务不是单一技能就能覆盖的。需要先调研某个主题的最新信息基于调研结果撰写结构化的文章或报告对报告中的数据进行可视化处理最终输出符合品牌风格的排版文档或演示文稿这些环节涉及不同的领域知识和工具链,单个内置技能无法完全覆盖。组合自定义技能、MCP 外部工具和多 Agent 协作,构建端到端的工作流。传统手工流程: DeerFlow 自定义工作流:搜索资料、阅读文献 用户描述需求│ │▼ ▼。 阅读详情

The Berland Army is preparing for a large military parade. It is already decided that the soldiers participating in it will be divided into k rows, and all rows will contain the same number of soldiers.

Of course, not every arrangement of soldiers into k rows is suitable. Heights of all soldiers in the same row should not differ by more than 1. The height of each soldier is an integer between 1 and n.

For each possible height, you know the number of soldiers having this height. To conduct a parade, you have to choose the soldiers participating in it, and then arrange all of the chosen soldiers into k rows so that both of the following conditions are met:

each row has the same number of soldiers,
no row contains a pair of soldiers such that their heights differ by 2 or more.
Calculate the maximum number of soldiers who can participate in the parade.

Input
The first line contains one integer t (1≤t≤10000) — the number of test cases. Then the test cases follow.

Each test case begins with a line containing two integers n and k (1≤n≤30000, 1≤k≤1012) — the number of different heights of soldiers and the number of rows of soldiers in the parade, respectively.

The second (and final) line of each test case contains n integers c1, c2, …, cn (0≤ci≤1012), where ci is the number of soldiers having height i in the Berland Army.

It is guaranteed that the sum of n over all test cases does not exceed 30000.

Output
For each test case, print one integer — the maximum number of soldiers that can participate in the parade.

Example
Input
5
3 4
7 1 13
1 1
100
1 3
100
2 1
1000000000000 1000000000000
4 1
10 2 11 1
Output
16
100
99
2000000000000
13
Note
Explanations for the example test cases:

the heights of soldiers in the rows can be: [3,3,3,3], [1,2,1,1], [1,1,1,1], [3,3,3,3] (each list represents a row);
all soldiers can march in the same row;
33 soldiers with height 1 in each of 3 rows;
all soldiers can march in the same row;
all soldiers with height 2 and 3 can march in the same row.

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
LL a[300005];
LL n, m;
LL solve(LL l, LL r) {
    if (l > r) return 0;
    LL mid = (l + r) / 2;
    LL b = 0, s = 0, t;
    for (LL i = 0; i < n; i++) {
        t = a[i] + b;
        s += t / mid;         
        if (t > mid)                           //尽量使用上一高度的人
            b = t % mid;
        else
            b = a[i] % mid;
        if (s >= m) {
            LL ans = solve(mid + 1, r);
            if (ans) return ans;
            return mid;
        }
    }
    return solve(l, mid - 1);
}
int main() {
    ios::sync_with_stdio(false);
    int t;
    cin >> t;
    while (t--) {
        memset(a, 0, sizeof(a));
        cin >> n >> m;
        LL sum = 0;
        for (LL i = 0; i < n; i++) {
            cin >> a[i];
            sum += a[i];
        }
        if (sum >= m)
            cout << m * solve(1, sum) << '\n'; 
        else
            cout << "0\n";
    }
}
让 ABAP 内表真正释放内存:从 CLEAR、FREE 到打破 Table Sharing 的实战技巧 ABAP内表内存管理的关键在于理解其运行时结构:DELETE操作仅逻辑删除行而不会释放内存,CLEAR或FREE才能真正回收内存。常见的误区包括误判空表状态和忽视内表共享机制。实际应用中,大表筛选后应采用VALUE表达式或逐行插入方式重建表体以释放内存。典型案例显示,正确处理内表内存可显著降低SAP Gateway和批处理程序的内存消耗,提升系统稳定性。开发时需结合调试工具观察内存状态,避免因共享机制导致无效回收。 阅读详情

相关推荐

AG32VF407直流电流采集仪设计:从1uA到10A宽范围采样与FPGA加速方案

本文详细介绍了基于AG32VF407芯片的直流电流采集仪设计方案,实现了从1uA到10A的宽范围采样。方案采用低噪声电源、精密运放调理、高速比较器自动档位切换及高精度ADC同步采样,并重点阐述了利用AG32VF407片内FPGA实现硬件加速以提升性能的架构思路,为精密电流测量提供了完整的硬件与FPGA加速解决方案。

weixin_33245447的博客 310

The Parade CodeForces - 1250J(二分+dfs)

The Berland Army is preparing for a large military parade. It is already decided that the soldiers participating in it will be divided into k rows, and all rows will contain the same number of soldier...

starlet_kiss的博客 411

SAP采购含税价转换的底层逻辑解析:ABAP例程如何实现价税分离计算

本文深入解析SAP系统中采购含税价与不含税价的转换机制,重点介绍VOFM例程和ABAP代码实现价税分离计算的方法。通过详细讲解数学原理、税率体系及SAP定价引擎架构,为开发人员提供完整的解决方案,帮助提升采购业务中的价格处理效率和准确性。

weixin_29237635的博客 450

CodeForces - 1250 J. The Parade(二分)

题目链接:https://codeforces.com/problemset/problem/1250/J J. The Parade The Berland Army is preparing for a large military parade. It is already decided that the soldiers participating in it will be divid...

Than-的博客 425

深度学习二分类实战:用Python+Keras搞定基因表达数据预测(附完整代码)

本文详细介绍了如何使用Python和Keras构建深度学习模型进行基因表达数据的二分类预测。通过数据预处理、特征选择、神经网络构建及优化策略,特别针对小样本场景提供了调参技巧和模型解释方法。文章还包含完整的代码示例,帮助读者快速掌握深度学习在生物信息学中的应用。

weixin_30642561的博客 245

冒险岛脚本函数大全:cm.sendYesNo和cm.warp的20个实战用法

本文深入解析了冒险岛脚本中cm.sendYesNo和cm.warp两个核心函数的20个实战应用场景。从基础的确认对话框交互、条件判断,到复杂的装备强化系统、动态传送与副本入口逻辑,文章通过大量代码示例展示了如何组合运用这两个函数,实现从简单NPC到复杂任务系统的进阶脚本开发,并分享了状态管理、错误处理与性能优化等最佳实践。

t4y5u6i7o的博客 1060

The Parade(CodeForces - 1250J)(思路+二分)

The Berland Army is preparing for a large military parade. It is already decided that the soldiers participating in it will be divided intokkrows, and all rows will containthe samenumber of soldie...

菜鸡的博客 633

XC95144XL-10TQG144I Xilinx XC9500XL 高性能 CPLD

XC95144XL-10TQG144I 属于 Xilinx 的 XC9500XL 高性能 CPLD 家族,是一颗面向 3.3V 低电压系统的可编程逻辑器件。该器件以小封装、高速响应和良好的系统兼容性为设计目标,常用作系统控制/ glue-logic、I/O 缓冲、状态机、总线桥接与接口协议前端等场景中的可重编程逻辑单元。产品支持现场(in-system)编程与 IEEE-1149.1 JTAG 边界扫描,能在系统板上直接更新逻辑。

2403_90082736的博客 1060

CodeForces 1250J The Parade(二分)

题目来源: https://codeforces.com/problemset/problem/1250/J 题目描述: 题意: 给你一个nnn,一个kkk,和nnn个第iii高士兵的的数量,问你能排成kkk排的最大可能人数是多少,要求每一排里面极差不超过111,每排人数都相等。 思路: 二分士兵每行数量,假设每行士兵个数为midmidmid,且答案中每行人数为ansansans,那么mid&g...

nuoyanli的博客 1869

Windows下用Docker部署RagFlow的5个常见错误及解决方法(附详细日志分析)

本文针对Windows系统下使用Docker部署RagFlow的常见难题,提供了详细的避坑指南。文章深度剖析了WSL2配置、端口冲突、文件权限、资源限制及网络通信这五个典型错误场景,并结合具体日志分析,给出了经过验证的解决方案,帮助开发者高效完成部署。

weixin_29233857的博客 178

ARMv8/ARMv9的TLB深度学习

千万不要人云亦云。一个TLB entry里有很多很多东西的,有100多个比特位呢,并不是仅仅只有VA/PA/nG/VMID/ASID等。.👉👉👉 个人博客笔记导读目录(全部) 👈👈👈。

baron-周贺贺-代码改变世界ctw 1569

codeforces 337A(Puzzles) Java

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io

TinyDolphin的博客 438

26、电子测量与旋转编码器控制技术解析

本文深入解析了电子测量中的电感测量技术与旋转编码器的控制方法。介绍了LC电路振荡原理、滤波器类型及其应用,并通过代码实现了基于脉冲宽度的电感值计算。对比了陶瓷电容与电解电容在高频测量中的性能差异。在旋转编码器部分,详细阐述了其工作原理,提出了抖动问题和检测遗漏的解决方案,包括中断检测法和基于4位状态映射的高精度控制方法。文章还探讨了相关技术在电力系统、通信设备、工业自动化和智能家居中的应用,并展望了高精度、智能化、小型化和无线化的发展趋势,为电子系统设计提供了实用指导和技术参考。

elastic6hunter的博客 97

J. The Parade(二分)

题目 题意:     有n种高度,每种高度有ci个人。要求将这么多人分为k组,每组人数相等且身高差不超过1,输出分组总人数的最大值。     1≤n≤30000,1≤k≤1012,0≤ci≤10121≤n≤30000 , 1≤k≤10^{12},0≤c_i≤10^{12}1≤n≤30000,1≤k≤1012,0≤ci​≤1012 分析:     分析一下就可以发现,每组人数越多,就越难满足条件,而...

weixin_44316314的博客 340

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

The Parade CodeForces - 1250J(二分)

The Berland Army is preparing for a large military parade. It is already decided that the soldiers participating in it will be divided intokkrows, and all rows will containthe samenumber of soldie...

weixin_43740907的博客 210

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest J. The Parade(二分)

题目链接 题意:给定身高为1-n的士兵数量,现在要求士兵分成k排,要求每一排士兵身高差不能超过1,求最多有多少士兵可以拿出来排。 思路:又是一个裸的二分题,但是写check函数的时候确遇到了bug。。。我们可以二分枚举每排士兵的人数。这里就是注意一下,每个身高的士兵人数要累加起来求和,如果分开的话会出错。 #include<bits/stdc++.h> using namespac...

qq_42479630的博客 453

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Codeforces 1250J The Parade

Codeforces 1250J The Parade The Berland Army is preparing for a large military parade. It is already decided that the soldiers participating in it will be divided into k rows, and all rows will contain the same number of soldiers. Of course, not every arra

旺崽的博客 2558

2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest J. The Parade(二分+贪心)

题目链接 大意:给你一个组士兵,告诉你身高iii的人数aia_iai​,让你放在kkk行,使得每行人数相同且每行中士兵身高差不超过111,问你最多能放多少士兵满足条件。 思路:二分每行人数。证明:如果xxx满足的话,显然可以把每行都去掉相同的人数使得[1,x][1,x][1,x]都满足。 遍历nnn个人,先把上一个身高的士兵没用完的看能不能和当前身高的放满一行,再放当前身高的。 如果最后放的行数比...

pubgoso的博客 380

2019-2020 ICPC, NERC, Southern and Volga Russian Regional Contest

A.Berstagram 题意:起始数列是1,2,3,……,n,给你m个操作x,表示将数字x和前一个位置的数交换,如果已经在第一个则不做操作,求每个数能到达的位置的最大和最小值; 分析:扫一遍模拟,更新左右极限; #include<bits/stdc++.h> using namespace std; const int maxn=1e5+7; int a[maxn],pos[...

MaJorieL 929

CF: The parade

题意: 给n个高度,k排,身高是呈线性的,从1-->n,然后输入n个数,代表每个身高多有多少人,现在要求k排最多排多少个人? 题解: 思路是:贪心+二分 1:如何贪心 贪心写入判断函数,由题意很容易得出以k为判断点去二分,所以贪心就和k有关联 由于一排的身高 差值=1 ,而且身高的变化函数是y=x,呢么相邻的两个身高肯定差值=1,然后根据相邻的可以补为一排,增加排数 2:如何二分 当排数大...

yangzijiangac的博客 221

Rain on your Parade(二分图匹配-Hopcroft-Carp算法)

Rain on your Parade(二分图匹配-Hopcroft-Carp算法) judge:链接 Time limit:3000 ms Memory limit:165535 kB OS:Windows Source:HDU 2008-10 Public Contest 参考自:链接 描述 You’re giving a party in the garden of your villa b...

画船听雨眠 382

J. The Parade

http://codeforces.com/contest/1250/problem/J #include <bits/stdc++.h> //#include <queue> //#include <cmath> //#include <iostream> //#include <unordered_map> #define ls...

newhonor 347

hdu-2389.rain on your parade(二分匹配HK算法)

Rain on your Parade Time Limit: 6000/3000 MS (Java/Others)Memory Limit: 655350/165535 K (Java/Others)Total Submission(s): 6752Accepted Submission(s): 2117 Problem Description You’re gi...

weixin_30612769的博客 198

【费用流-二分增广路径】CC_PARADE Annual Parade

【题目】 Codechef 有一幅nnn个点mmm条带权边的有向图(可能有重边),你可以选择任意个人在上面以任意方式进行游走(至少走一步),每个人每走过一条边会花费其边权。每有一个人起点不等于终点花费会+C+C+C,每有一个点没有被经过花费会+C+C+C。 有QQQ个询问,每个询问给定一个CCC,求最小花费。 n≤250,m≤30000,Q,C≤10000n\leq 250,m\leq 30000...

MEET YOU FIRST TIME 337

The Parade

cn(0 ≤ ci≤ 1e12),其中ci是Berland军队中身高为i的士兵人数。每个测试用例以一行开始,该行包含两个整数n和k(1 ≤n ≤ 30000,1 ≤ k ≤ 1e12)——分别是阅兵式中不同高度的士兵数量和士兵排数。对于每一个可能的高度,你都知道有这个高度的士兵人数。当然,并不是每一次把士兵排成k排都是合适的。每个士兵的身高是一个介于1和n之间的整数。已经决定,参与其中的士兵将被分为k行,所有行都将包含相同数量的士兵。对于每个测试用例,打印一个整数——可以参加游行的最大士兵人数。

心如冰清,天塌不惊 436

codechef Annual Parade - 费用流 - 二分

题目大意:总之就是要做最小路径覆盖,路径只要不是长度大于1的环就要额外支付C的代价。多次给出C求答案。n≤250,m≤30000,q≤104n\le250,m\le30000,q\le10^4n≤250,m≤30000,q≤104 题解:考虑固定c怎么做。考虑无向图最小路径覆盖的过程,每次要么是合并两条路径,可以少支付一个C,要么形成一个环,也可以少支付一个C。因此就是最小路径覆盖每次增广收益是c...

Mys_C_K的博客 794
上一篇: Nine Packsa (01背包)
下一篇: The Feast and the Bus (暴力)
to_xf
博客等级 码龄7年 31粉丝 117原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值