1128 正整數分組 v2
基準時間限制:1 秒 空間限制:131072 kb 分值: 80 難度:5級演算法題
給出乙個長度為n的正整數陣列,不改變陣列元素的順序,將這n個數分為k組。各組中元素的和分別為s1,s2....sk。如何分組,使得s1至sk中的最大值最小?
例如:1 2 3 4 5 6分為3組, ,元素和為6, 9, 6,最大值為9。也可以分為 。元素和為:10 5 6,最大值為10。因此第一種方案更優。並且第一種方案的最大值是所有方案中最小的。輸出這個最小的最大值。
input
第1行:2個數n, k,中間用空格分隔,n為陣列的長度,k為要分為多少組。(2 <= koutput第2 - n + 1行:陣列元素(1 <= a[i] <= 10^9)
輸出這個最小的最大值。input示例
6 312output示例3456
9
#include#include#include#define ll long long
using namespace std;
ll sum=0,n,k;;
ll a[50005];
int judge(ll x)
else
}if(m>0)
return 1;
else
return 0;
}int main()
ll l=1,r=sum,mid;
while(l
else
}cout<
return 0;
}
51nod 1128 正整數分組 V2
給出乙個長度為n的正整數陣列,不改變陣列元素的順序,將這n個數分為k組。各組中元素的和分別為s1,s2 sk。如何分組,使得s1至sk中的最大值最小?例如 1 2 3 4 5 6分為3組,元素和為6,9,6,最大值為9。也可以分為 元素和為 10 5 6,最大值為10。因此第一種方案更優。並且第一種...
51nod 1128 正整數分組 V2
給出乙個長度為n的正整數陣列,不改變陣列元素的順序,將這n個數分為k組。各組中元素的和分別為s1,s2.sk。如何分組,使得s1至sk中的最大值最小?例如 1 2 3 4 5 6分為3組,元素和為6,9,6,最大值為9。也可以分為 元素和為 10 5 6,最大值為10。因此第一種方案更優。並且第一種...
51nod 1128 正整數分組 V2(二分)
給出乙個長度為n的正整數陣列,不改變陣列元素的順序,將這n個數分為k組。各組中元素的和分別為s1,s2.sk。如何分組,使得s1至sk中的最大值最小?例如 1 2 3 4 5 6分為3組,元素和為6,9,6,最大值為9。也可以分為 元素和為 10 5 6,最大值為10。因此第一種方案更優。並且第一種...