OpenJudge 2774 木材加工
来源:互联网 发布:qq火影忍者数据测试 编辑:程序博客网 时间:2024/04/27 18:37
1.链接:
http://bailian.openjudge.cn/practice/2774/
2.题目:
- 总Time Limit:
- 1000ms
- Memory Limit:
- 65536kB
- Description
- 木材厂有一些原木,现在想把这些木头切割成一些长度相同的小段木头,需要得到的小段的数目是给定了。当然,我们希望得到的小段越长越好,你的任务是计算能够得到的小段木头的最大长度。
木头长度的单位是厘米。原木的长度都是正整数,我们要求切割得到的小段木头的长度也要求是正整数。- Input
第一行是两个正整数N和K(1 ≤ N ≤ 10000, 1 ≤ K ≤ 10000),N是原木的数目,K是需要得到的小段的数目。
接下来的N行,每行有一个1到10000之间的正整数,表示一根原木的长度。
- Output
- 输出能够切割得到的小段的最大长度。如果连1厘米长的小段都切不出来,输出"0"。
- Sample Input
3 7232124456- Sample Output
114- Source
- NOIP 2004
3.思路:
利用二分查找减少计算的次数
4.代码:
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 5 using namespace std; 6 7 int main() 8 { 9 //freopen("C://input.txt","r",stdin);10 11 int i;12 13 int n,k;14 cin >> n >> k;15 16 int sum; //sum of stick length17 18 int *arr_len = new int[n];19 memset(arr_len , 0, sizeof(int) * n);20 21 sum = 0;22 for(i = 0; i < n; ++i)23 {24 cin >> arr_len[i];25 sum += arr_len[i];26 }27 28 int max_len = sum / k;29 int min_len = 1;30 int mid_len;31 32 int count_k;33 int max = 0;34 35 while(min_len <= max_len)36 {37 mid_len = (max_len + min_len) / 2;38 39 count_k = 0;40 for(i = 0; i < n; ++i)41 {42 count_k += (arr_len[i] / mid_len);43 }44 45 if(count_k >= k)46 {47 if(max < mid_len) max = mid_len;48 min_len = mid_len + 1;49 }50 else51 {52 max_len = mid_len - 1;53 }54 }55 56 cout << max << endl;57 58 delete [] arr_len;59 60 return 0;61 }
0 0
- OpenJudge 2774 木材加工
- openjudge 木材加工
- OpenJugde - 2774:木材加工
- 百练 2774:木材加工
- 木材加工
- 木材加工
- 木材加工
- 木材加工
- 百练 2774 木材加工 二分
- 百练2774:木材加工题解
- wikioi 3297 木材加工
- [POJ2774]木材加工
- LintCode-木材加工
- noip2005初赛-木材加工
- LintCode 木材加工
- lintcode-木材加工-183
- lintcode 木材加工
- OpenJudge_P1776 木材加工
- Eclipse Maven 构建(转)
- Eclipse 安装 Hibernate插件以及使用
- Myeclipse 查看对应Eclipse对应版本(转)
- 模板:函数memset
- 模板:二分搜索技术
- OpenJudge 2774 木材加工
- OpenJudg / Poj 1363 Rails
- CSS:属性选择器
- OpenJudge 2766 最大子矩阵
- OpenJudge / Poj 2141 Message Decowding
- 模板:使用new delete 创建二维数组
- Poj 3299 Humidex
- Poj 2159 / OpenJudge 2159 Ancient Cipher
- Poj 2739 Sum of Consecutive Prime Numbers