POJ 3273 - Monthly Expense(二分)

SD/TF卡使用FATFS的f_mkfs()函数格式化后容量减小 f_mkfs() 使用方法以及SD/TF卡使用FATFS的f_mkfs()函数格式化后容量减小的解决方法 阅读详情

Monthly Expense
Time Limit: 2000MS Memory Limit: 65536K
Total Submissions: 11178 Accepted: 4579

Description

Farmer John is an astounding accounting wizard and has realized he might run out of money to run the farm. He has already calculated and recorded the exact amount of money (1 ≤ moneyi ≤ 10,000) that he will need to spend each day over the next N (1 ≤ N ≤ 100,000) days.

FJ wants to create a budget for a sequential set of exactly M (1 ≤ M ≤ N) fiscal periods called "fajomonths". Each of these fajomonths contains a set of 1 or more consecutive days. Every day is contained in exactly one fajomonth.

FJ's goal is to arrange the fajomonths so as to minimize the expenses of the fajomonth with the highest spending and thus determine his monthly spending limit.

Input

Line 1: Two space-separated integers: N and M 
Lines 2..N+1: Line i+1 contains the number of dollars Farmer John spends on the ith day

Output

Line 1: The smallest possible monthly limit Farmer John can afford to live with.

Sample Input

7 5
100
400
300
100
500
101
400

Sample Output

500

Hint

If Farmer John schedules the months so that the first two days are a month, the third and fourth are a month, and the last three are their own months, he spends at most $500 in any month. Any other method of scheduling gives a larger minimum monthly limit.


=============================

题意:给出农夫每天的花费,连续分组使各组的花费之和尽量小,输出最大值


对最大值进行二分


#include <iostream>
#include <cstdio>

using namespace std;
int n,m,a[111111],MAX=-1,sum=0;

bool C(int x)
{
    int cnt=0;
    for(int i=-1;i<n;)
    {
        int ans=0;
        while(ans<=x)
        {
            i++;
            if(i==n) break;
            ans+=a[i];
            //cout<<a[i]<<" "<<i<<" "<<ans<<endl;
        }
        if(i!=n) i--;
        cnt++;
    }
    if(cnt<=m) return 1;
    else return 0;
}

int b_search()
{
    int l=MAX,r=sum,mid,ans=0;
    while(l<=r)
    {
        mid=(l+r)/2;
        if(C(mid))
        {
            ans=mid;
            r=mid-1;
        }
        else l=mid+1;
    }
    return ans;
}

int main()
{
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        if(MAX<a[i]) MAX=a[i];
        sum+=a[i];
    }
    //cout<<MAX<<" "<<sum<<endl;
    int ans=b_search();
    printf("%d\n",ans);
    return 0;
}


Linux之GTK系列教程 00、背上行囊1——程序员学习之道 01、背上行囊2——为什么要学习GTK 02、背上行囊3——GUI概述 03、背上行囊4——GTK简介 04、背上行囊5——GTK环境搭建( Linux ) 05、背上行囊6——GTK环境搭建( windows ) 06、踏上旅途1——一个简单的空白窗口 07、踏上旅途2——控件的添加 08、踏上旅途3——布局容器之水平布局 09、踏上旅途 阅读详情

相关推荐

WPS文档编辑时空行问题解决方案

本文详细介绍了如何解决WPS文档编辑时空行的问题,从问题描述与分析、解决方案详解到操作示例与注意事项等多个方面进行了全面阐述。通过本文的介绍和指导,用户可以快速定位问题根源并采取有效措施进行解决,从而提升文档编辑效率和美观性。未来,随着WPS软件的不断升级和优化,相信会有更多便捷高效的功能被添加到软件中。同时,用户也需要不断学习和探索新的操作技巧和方法,以适应不断变化的办公需求。希望本文能够为广大WPS用户提供有益的参考和帮助,共同推动办公效率的提升和发展。

mmoo_python的博客 1244

在FREERTOS系统下移植FATFS时格式化SD卡失败问题解决办法

使用FATFS格式化失败解决办法

久久的学习之路 1830

Unity ECS 之 Entitas 的简单介绍,插件下载、导入,和简单使用(一篇文入门搞懂ECS是什么)

Unity ECS 之 Entitas 的简单介绍,插件下载、导入,和简单使用(一篇文入门搞懂ECS是什么) 目录 Unity ECS 之 Entitas 的简单介绍,插件下载、导入,和简单使用(一篇文入门搞懂ECS是什么) 一、简单介绍 二、一些专有项简介 Entity Context Group Collector Matcher System Feature 三、注意实现 四、ECS 的下载 Github 上下载 Unity Asset Store 中下载 U...

仙魁XAN 7780

FATFS备忘

FATFS文件系统可以挂载SD卡也可以挂载FLASHeMMC等设备SD卡需要格式化为FAT32模式 块大小默认即可。

m0_57585228的博客 1276

如何使用CPU-Z获取内存条频率信息(编程)

当我们需要获取计算机内存条的频率信息时,可以利用CPU-Z这个工具来实现。CPU-Z是一款专门用于获取计算机硬件信息的工具,它提供了API接口,我们可以通过编程的方式来获取内存条频率信息。你可以从CPU-Z官方网站下载适用于你的操作系统的CPU-Z程序,并从安装目录中找到。函数,我们可以初始化CPU-Z,如果返回值不为0,则表示初始化失败。函数来获取内存条频率信息,如果返回值小于等于0,则表示获取失败。函数来初始化CPU-Z并获取内存条频率信息。最后,我们将获取到的内存条频率信息打印输出,并使用。

ByteProwl的博客 460

【Bug已解决】Codex Desktop 更新后无法启动/闪退解决方案

方案适用场景推荐指数清理本地缓存重启最常见、最应优先尝试的方案⭐⭐⭐⭐⭐完全卸载重装缓存清理无效时的进阶方案⭐⭐⭐⭐详细日志定位崩溃环节需要精确诊断问题原因⭐⭐⭐⭐锁定旧稳定版本确认是特定版本缺陷时的过渡方案⭐⭐⭐反馈官方支持团队自助方式无效时的最终途径⭐⭐⭐⭐Codex Desktop 更新后无法启动/闪退的本质通常是新版本程序在启动时读取到了旧版本遗留的、格式不兼容的本地缓存或配置数据,导致启动流程中途崩溃。

一键难忘的博客 6288

FATFS文件系统f_mkfs函数详解

1.f_mkfs函数中的变量n_fats=1,表示FAT的表项个数,默认FAT32文件系统中,此值为1,当值为1时,使用f_mkfs格式化SD卡后,FAT的表项只有一个,当此值为2时,则格式化之后会有两个表项,FAT1和FAT2,FAT1为主表项,FAT2为备份表项。

qizhi321123的博客 1万+

实测可复现|2026 Cloudflare盾v4.0反反爬全实战:从JS/WASM逆向到JA3指纹伪装,手把手突破拦截(附完整逆向代码+避坑手册)

本文以2026年Cloudflare盾v4.0(集成Shield Synapse v2.0)为核心,全程以实战复盘为视角,拆解了从JS/WASM混合逆向、全维度指纹伪装(JA3+浏览器指纹)、人类行为模拟,到代理池搭建的全流程,整合了完整可复现的代码,所有步骤和踩坑点均为实测所得,无任何AI套话,新手也能跟着复现,最终实现爬取成功率从12%提升至95%+。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1686

FatFs文件系统

创客资料 前言 1、常见的Windows下的文件系统格式包括FAT32、NTFS、exFAT。在使用文件系统前,要先对存储介质进行格式化。格式化时会在存储介质上新建一个文件分配表和目录。这样,文件系统就可以记录数据存放的物理地址,剩余空间。FAT(file allocate table文件分配表),电脑根据文件系统进行格式化,分展出几个区 2、文件系统的作用:帮助我们管理磁盘,让磁盘可以通过文件目录的形式进行管理(通过在磁盘或者sd卡上做一个文件的结构)。Windows现在里面用的是微软自主开发的NTFS

chengcao123的博客 1715

C语言读取CSV文件的方法1

逗号分隔值文件格式(CSV),以纯文本形式存储表格数据,它是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。本文介绍利用C语言标准库中的一个字符串处理函数 strtok()来对CSV文件内容进行读取的基本方法

白马负金羁 1万+

Vue3 - H5实现省市区三四级联动组件,选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择,vue3实现省市区三级联动地址选择组件(支持接口数据懒加载,样式精美漂亮,附带详细示例源码)

vue3实现省市区三级联动地址选择组件(附address文件),vue3实现省市区三级联动, 实现省、市、县地区三级联动功能,vue3省市区选择器,VUE3 h5如何实现省市区街道的四级联动选择,vue实现省市区选择联动,vue3城市三级联动(自定义组件)_VUE三级联动,插件省市区联动,vue如何实现省市区选择器,vue3怎样实现省市区地址三级联动,vue四级联动,vue3级联选择器,vue3实现选择省市区镇(街道)四级级联选择,包含三级级联选择,省市区街道三级四级联动选择器,VUE3自定义多列选择器省市

🏆 前端领域优质创作者 3068

POJ-3273 Monthly Expense (二分)

原题链接:http://poj.org/problem?id=3273 题意:给你n个数,让你按顺序分成k份,问你分成的这k份中最大的一份之和是多少。 二分枚举答案即可 #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> using namespa...

FLY的博客 253

mbedtls | 01 - 移植mbedtls库到STM32的两种方法

一、mbedtls 开源库 1. mbedtls是什么 Mbed TLS是一个开源、可移植、易于使用、代码可读性高的SSL库。可实现加密原语,X.509证书操作以及SSL / TLS和 DTLS 协议,它的代码占用空间小,非常适合用于嵌入式系统。 mbedtls遵循 Apache 2.0 开源许可协议,目前由 TrustedFirmware 维护(Linaro主持的一个治理开放社区项目),在Github上已收获 2.6k star,目前Github上发布的最新版本为 2.24.0 版本,开源仓库地址为:

Mculover666的博客(嵌入式) 1万+

POJ 3273 Monthly Expense (二分)

题目地址:POJ 3273 水题。居然错了两次,sad、、 代码如下: #include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 #define pi acos(-1.0) const int

scf0920 920

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

计算机控制技术及应用

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

poj 3273 Monthly Expense 【二分】

Monthly Expense Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19597   Accepted: 7748 Description Farmer John is an astounding accounting wizard and has r

世界很大 665

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

POJ 3273 Monthly Expense【二分】

Description Farmer John is an astounding accounting wizard and has realized he might run out of money to run the farm. He has already calculated and recorded the exact amount of money (1 ≤ mon...

dianxuanzhi1019的博客 137

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【poj 3273】 Monthly Expense 二分

Monthly Expense Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 21071 Accepted: 8251DescriptionFarmer John is an astounding accounting wizard and has realized he might run out

ATOD 572

POJ 3273 Monthly Expense 二分

Description Farmer John is an astounding accounting wizard and has realized he might run out of money to run the farm. He has already calculated and recorded the exact amount of money (1 ≤ moneyi ≤

努力成为游戏开发人员 269

POJ 3273 Monthly Expense(二分查找+边界条件)

POJ 3273 Monthly Expense   此题与POJ3258有点类似,一开始把判断条件写错了,wa了两次,二分查找可以有以下两种:    while(ub-lb>0){ mid=(lb+ub)/2; if(C(mid)<=m) ub=mid; else lb=mid+1; //此时下限过小 } out(u...

weixin_30375427的博客 97

poj3273 Monthly Expense 二分查找

题目链接 题意:给出n组数据,每组有一个数,有多种方法通过将连续的几组数据并为一组使得组数从n减少至k,每组数据的值为其组中数据之和,每种方法得到的k组数据都有最大的一组数据和m,求这些方法中最小的m 解法:二分查找 以n组中最小的数为左边界l,n组数据之和为右边界r进行二分查找,取中间值mid=(l+r)/2,mid即为k组数据中最大的一组数据和,若mid可将n组数据分成多于k组...

My优快云5008的博客 207

#二分# POJ 3273 Monthly Expense

POJ 3273 Farmer John is an astounding accounting wizard and has realized he might run out of money to run the farm. He has already calculated and recorded the exact amount of money (1 ≤moneyi ≤ 10,

FFOYeah的博客 394

POJ3273 Monthly Expense 二分

POJ3273 Monthly Expense 二分

htrdchh的博客 150

POJ 3273 Monthly Expense(二分)

http://poj.org/problem?id=3273 Monthly Expense Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 11894   Accepted: 4861 Description Farmer Joh

fcbruce 877

POJ3273 Monthly Expense(二分答案)

题目大意: N个数不改变顺序分成M份,使每一份的和尽可能小 输出和中的最大值 很经典的二分答案,但是感觉二分很容易写错 先求出答案下界,也就是N个数中的最大值(相当于分成N份) 再求出答案上界,也就是N个数的和(相当于分成1份) 二分枚举可能的值 以这个值为和最大值,顺序遍历N个数,求出可以分多少份 如果份数大于M,则将上界往前移 如果份数小于等于M,则将下界往后移 (

丶Hiroshi 709

poj3273 Monthly Expense(二分)

poj3273题目http://poj.org/problem?id=3273思路题意就是给你n个数字,要求你不打乱顺序的分成m个组,要求使每个组的和值最小,输出其中和值最大的那个组的值。 思路就是二分,下限是单个最大的元素,上限是所有元素的和,判断的时候因为是连续的,所以就贪心依次往下加,超过了就开新的一组,最后比一下组的个数与m的关系。代码#include <iostream> #inc

天道酬勤 306

POJ 3273 Monthly Expense(二分)

Monthly Expense Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17465   Accepted: 6961 Description Farmer John is an astounding accounting wizard and has rea

叶孤心的专栏 727
上一篇: POJ 3268 - Silver Cow Party(dijkstra)
下一篇: HDU 1035 - Robot Motion
coco430
博客等级 码龄14年 9粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值