POJ 3273

原创 2016年10月25日 08:27:54

Time Limit: 2000MS   Memory Limit: 65536KB   64bit IO Format: %lld & %llu

 Status

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>
#include <cstring>
using namespace std;
const int N = 100010;
int a[N];
int judge(int x);
int n, m;


int main()
{


    while(scanf("%d %d", &n, &m)!=EOF)
    {
        int sum=0;
        for(int i=1; i<=n; i++)
        {
            scanf("%d", &a[i]);
            sum+=a[i];
        }
        int l=0, r=sum, mid;
        while(l<=r)
        {
            mid=(l+r)/2;
            if(judge(mid))
            {
                r=mid-1;
            }
            else
            {
                l=mid+1;
            }
        }
        printf("%d\n",l);
    }
    return 0;
}


int judge(int x)
{
    int cnt=0, sum=0;
    for(int i=1; i<=n; i++)
    {
        sum+=a[i];
        if(sum==x)
        {
            if(i==n)
            {
                break;
            }
            sum=0;
            cnt++;
        }
        else if(sum>x)
        {
            sum=a[i];
            cnt++;
        }
        if(a[i]>x||cnt>m-1)
        {
            return 0;
        }
    }
    if(cnt<=m-1)
    {
        return 1;
    }
    return 0;
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

POJ 3273-Monthly Expense(二分求最小和中的最大)

Monthly Expense Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub...
  • u013486414
  • u013486414
  • 2015年06月01日 09:46
  • 1132

POJ 3273 二分求最大化最小值

Monthly Expense Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 20086 Accep...
  • qq_22902423
  • qq_22902423
  • 2016年01月28日 16:12
  • 1837

[ACM] POJ 3273 Monthly Expense (二分解决最小化最大值)

Monthly Expense Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 14158 ...
  • sr19930829
  • sr19930829
  • 2014年07月23日 16:05
  • 1956

POJ3273-Monthly Expense

  • 2011年07月31日 23:05
  • 6KB
  • 下载

POJ 3273:Monthly Expense 二分好题啊啊啊啊啊啊

Monthly Expense Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19207 ...
  • u010885899
  • u010885899
  • 2015年10月28日 18:09
  • 314

POJ3273 Monthly Expense(正确的二分法求最小化最大值)

Link:http://poj.org/problem?id=3273 Monthly Expense Time Limit: 2000MS   Memory ...
  • Enjoying_Science
  • Enjoying_Science
  • 2017年11月21日 16:14
  • 80

POJ 3273-Monthly Expense(二分法-最小化最高花费)

Monthly Expense Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 24397   Accepted:...
  • MIKASA3
  • MIKASA3
  • 2017年02月09日 14:24
  • 194

最大化最小值 POJ2456 3273

POJ2456最大化最小值FJ 有一个很长的 barn ,然后里面有 N 棚, N 个棚在一条直线上,第 i 个棚的位置为 xi. 然后他有 c 只羊,为了防止羊相互攻击,则要找出最大的两只羊之间距...
  • zlqdhrdhrdhr
  • zlqdhrdhrdhr
  • 2016年08月21日 15:19
  • 185

poj 3273 二分法变形——最大化最小值问题

题目传送门: POJ 3273 Monthly Expense 题目概述: 给出M个月的花费dataSet[i], 要求划分N段,要求每组花费...
  • ajfdlkasjgdlkas
  • ajfdlkasjgdlkas
  • 2017年12月06日 11:11
  • 29

POJ_3273_Monthly Expense

poj 3273 Monthly Expense Farmer John is an astounding accounting wizard and has realized he might ru...
  • Mrx_Nh
  • Mrx_Nh
  • 2016年10月01日 03:17
  • 178
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 3273
举报原因:
原因补充:

(最多只允许输入30个字)