九度OJ 1502 最大值最小化(JAVA)
题目1502:最大值最小化(二分答案)
九度OJ
Java
import java.util.Scanner;
public class Main {
public static int max(int x ,int y){
return x > y ? x : y;
}
public static int solve(int tot , int m , int n ,int a[]){
int low = 1 , high = tot;
while(low <= high){
int mid = (low + high) / 2;
int i = 1 , count = 0 , k , flag = 1 ;
while(i <= m){
if(a[i] > mid){
flag = 0; break;
}
int sum = 0;
for(k = i; k <= m; k++){
sum += a[k];
if(sum > mid) break;
}
i = k;
count++;
}
if(flag == 0 || count > n) low = mid + 1;
else if(count == n) high = mid - 1;
else high = mid - 1;
/*
if(count <= n) high = mid - 1;
else low = mid + 1;
*/
}
return max(low , high);
}
public static void main(String[] args){
final int N = 510 , M = 510;
int cas,n,m,tot;
int[] a = new int[M];
Scanner cin = new Scanner(System.in);
cas = cin.nextInt();
while((cas--) != 0){
m = cin.nextInt();
n = cin.nextInt();
tot = 0;
for(int i = 1; i <= m; i++){
a[i] = cin.nextInt();
tot += a[i];
}
int res = solve(tot,m,n,a);
System.out.println(res);
}
}
}
C++
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
#define N 510
#define M 510 int a[M],tot; int main()
{
int cas,n,m;
scanf("%d",&cas);
while(cas--)
{
tot = ;
scanf("%d%d",&m,&n);
for(int i=; i<=m; i++)
scanf("%d",&a[i]) , tot += a[i];
int low = , high = tot , mid;
while(low <= high)
{
mid = (low + high) >> ;
int i = , k , count = , ok = ;
while(i<=m)
{
if(a[i] > mid)
{ ok = ; break;}
int sum = ;
for(k=i; k<=m; k++)
{
sum += a[k];
if(sum > mid) break;
}
i = k;
count++;
}
if(!ok || count > n) low = mid + ;
else if(count == n) high = mid - ;
else high = mid - ;
}
printf("%d\n",max(low,high));
}
}
九度OJ 1502 最大值最小化(JAVA)的更多相关文章
- 九度OJ 1187:最小年龄的3个职工 (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2291 解决:936 题目描述: 职工有职工号,姓名,年龄.输入n个职工的信息,找出3个年龄最小的职工打印出来. 输入: 输入第一行包括1个 ...
- 九度OJ 1020:最小长方形 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6019 解决:2849 题目描述: 给定一系列2维平面点的坐标(x, y),其中x和y均为整数,要求用一个最小的长方形框将所有点框在 ...
- 九度OJ 1086:最小花费 (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3960 解决:819 题目描述: 在某条线路上有N个火车站,有三种距离的路程,L1,L2,L3,对应的价格为C1,C2,C3.其对应关系如下 ...
- 九度OJ 1102:最小面积子矩阵 (DP、缓存、剪枝)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1666 解决:504 题目描述: 一个N*M的矩阵,找出这个矩阵中所有元素的和不小于K的面积最小的子矩阵(矩阵中元素个数为矩阵面积) 输入: ...
- 九度OJ 1209:最小邮票数 (遍历)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2252 解决:741 题目描述: 有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值. 如,有1分,3分,3分,3分,4分五 ...
- 九度OJ 1371 最小的K个数 -- 堆排序
题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...
- 【九度OJ】题目1191:矩阵最大值 解题报告
[九度OJ]题目1191:矩阵最大值 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1191 题目描述: 编写一个程序输入一个mXn的 ...
- 【九度OJ】题目1187:最小年龄的3个职工 解题报告
[九度OJ]题目1187:最小年龄的3个职工 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1187 题目描述: 职工有职工号,姓名, ...
- 【九度OJ】题目1438:最小公倍数 解题报告
[九度OJ]题目1438:最小公倍数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1438 题目描述: 给定两个正整数,计 ...
随机推荐
- Java程序员的日常 —— static的用法讲解实践
之前文章说过Java中static的作用,有朋友想看个例子.于是便抽空写了个小栗子 代码 package xing.test.thinking.chap5; class A{ public A() { ...
- Leetcode 232 Implement Queue using Stacks STL
本题用两个栈实现队列,用栈的基本操作去实现队列的所有基本操作push(),pop(),peek()以及empty() sa作为输入栈,sb作为输出栈,将sa输入元素的反转过来放到sb中 push与sa ...
- 大家一起写mvc(二)
上一篇已经看了,我想大家都明白了mvc的原理,今天我们来说一下要写自己mvc框架必须要会的技术. mvc的目录是这样的 src目录是我们核心的mvc代码.这个代码明天讲,今天主要讲的代码都在test目 ...
- 【VerySky原创】后台JOB运行-相关表
[VerySky原创] TBTCP 批作业步骤概述TBTCO 作业状态概述表TBTCS 批计划表TBTC_SPOOLID Background Processing Spool ...
- ASP.NET Web API模型验证以及异常处理方式
ASP.NET Web API的模型验证与ASP.NET MVC一样,都使用System.ComponentModel.DataAnnotations. 具体来说,比如有:[Required(Erro ...
- java综合
java环境变量配置:http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html 1.导入项目 当下载了包含Eclipse 项目的源代 ...
- Distributed Result Grouping Caveats
Distributed Result Grouping Caveats Grouping is supported distributed searches, with some caveats: 1 ...
- spring-boot 加载本地静态资源文件路径配置
1.spring boot默认加载文件的路径是 /META-INF/resources/ /resources/ /static/ /public/ 这些目录下面, 当然我们也可以从spring bo ...
- 查看Oracle数据库的用户名和密码
运行 cmd 按如下输入命令 sqlplus / as sysdba ---------以sys登陆 超级用户(sysdba) alter user 用户名 account unlo ...
- SAP 系统管理内容
SAP 系统管理内容包含非常广泛,从底层硬件起到各种操作系统及各种系统软件及SAP软件组件等都会涉及到.SAP系统支持主流的IBM AIX.HP UNIX.Windows.Linux平台及Oracle ...