高效算法——B 抄书 copying books,uva714
2015-08-04 16:11
417 查看
Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu
Submit Status
Description
View Code
Submit Status
Description
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxm = 500 + 5; int m, k, p[maxm]; int solve(long long maxp) { long long done = 0; int ans = 1; for(int i = 0; i < m; i++) { if(done + p[i] <= maxp) done += p[i]; else { ans++; done = p[i]; } } return ans; } int last[maxm]; void print(long long ans) { long long done = 0; memset(last, 0, sizeof(last)); int remain = k; for(int i = m-1; i >= 0; i--) { if(done + p[i] > ans || i+1 < remain) { last[i] = 1; remain--; done = p[i]; } else done += p[i]; } for(int i = 0; i < m-1; i++) { printf("%d ", p[i]); if(last[i]) printf("/ "); } printf("%d\n", p[m-1]); } int main() { int T; scanf("%d", &T); while(T--) { scanf("%d%d", &m, &k); long long tot = 0; int maxp = -1; for(int i = 0; i < m; i++) { scanf("%d", &p[i]); tot += p[i]; maxp = max(maxp, p[i]); } long long L = maxp, R = tot; while(L < R) { long long M = L + (R-L)/2; if(solve(M) <= k) R = M; else L = M+1; } print(L); } return 0; }
View Code
相关文章推荐
- nginx 403 forbidden 二种原因
- shell常用命令
- Apache HBase Region Splitting and Merging
- Linux下Weblogic 11g R1安装和配置
- 电话告警免费体验啦~~
- opencv 图像深度(depth)
- opencv 图像深度(depth)
- Git bash 操作记住密码
- 嵌入式LINUX入门到实践(二)
- Linux下面怎样可以把Apache网站根目录:/var/www/html/ 设置成Vsftp默认目录?
- opencv中facedetect例子浅析
- Hibernate AccessType.PROPERTY和AccessType.FIELD的区别
- nginx 301 302配置
- Nginx监听端口管理
- Linux中ifreq 结构体分析和使用
- linux下的22个特殊符号
- centos文件新建、删除、移动、复制等命令
- Error when clicking other button after displaying Popup window(转)
- Apache Thrift - 可伸缩的跨语言服务开发框架
- nginx高级配置