HDU 5884 Sort 2016 ACM/ICPC Asia Regional Qingdao Online
来源:互联网 发布:mac怎么免费下载软件 编辑:程序博客网 时间:2024/05/21 10:32
题目点我点我点我
#include<stdio.h>#include<iostream>#include<memory.h>#include<stdlib.h>#include<cstdio>#include<cstring>#include<queue>#include<set>#include<algorithm>using namespace std;const int MAXN = 100005;const int INF = 0x3f3f3f3f;typedef long long LL;int T, N, M;int a[MAXN], b[MAXN];bool Check(int k){int ai, bi, blen;blen = 0;ai = bi = 0;int cost = 0;bool first = true;while (N - ai + blen - bi > 1){int num = 0;if (first){if ((N - k) % (k - 1) == 0){num = k;}else{num = (N - k) % (k - 1) + 1;}first = false;}else{num = k;}int sum = 0;while (num--){if (ai == N){sum += b[bi];bi++;}else if (bi == blen){sum += a[ai];ai++;}else if (a[ai] < b[bi]){sum += a[ai];ai++;}else{sum += b[bi];bi++;}}cost += sum;if (cost > M){return false;}b[blen++] = sum;}return cost <= M;}int main(void) {#ifndef ONLINE_JUDGE//freopen("in.txt", "r", stdin);#endifint T;scanf("%d", &T);{int i;for (int ca = 1; ca <= T; ca++){scanf("%d%d", &N, &M);for (i = 0; i < N; i++){scanf("%d", &a[i]);}sort(a, a + N);int head = 2;int tail = N;int mid, res;while (head <= tail){mid = (head + tail) / 2;if (Check(mid)){res = mid;tail = mid - 1;}else{head = mid + 1;}}printf("%d\n", res);}}return 0;}
0 0
- HDU 5884 Sort 2016 ACM/ICPC Asia Regional Qingdao Online
- HDU 5884 Sort 2016 ACM/ICPC Asia Regional Qingdao Online 1007
- 2016 ACM/ICPC Asia Regional Qingdao Online hdu 5884 Sort (二分+优先队列)★
- 2016 ACM/ICPC Asia Regional Qingdao Online hdu 5884 Sort (智商+队列)★
- HDU 5879 Cure 2016 ACM/ICPC Asia Regional Qingdao Online
- HDU 5878 -- 丑数打表(2016 ACM/ICPC Asia Regional Qingdao Online)
- HDU 5878 -- 丑数打表(2016 ACM/ICPC Asia Regional Qingdao Online)
- 【2016 ACM/ICPC Asia Regional Qingdao Online】
- 2016 ACM/ICPC Asia Regional Qingdao Online
- 2016 ACM/ICPC Asia Regional Qingdao Online
- HDu 6216 && 2017 ACM/ICPC Asia Regional Qingdao Online 1011
- HDU-2017 ACM/ICPC Asia Regional Qingdao Online-1001-Apple
- HDU-2017 ACM/ICPC Asia Regional Qingdao Online-补题
- 2017 ACM/ICPC Asia Regional Qingdao Online
- 2017 ACM/ICPC Asia Regional Qingdao Online
- 2017 ACM/ICPC Asia Regional Qingdao Online
- 2017 ACM/ICPC Asia Regional Qingdao Online
- 2016 ACM/ICPC Asia Regional Qingdao Online 1002Cure
- CSS Sprites(CSS精灵) 的优缺点
- [Crash分析] java.util.ConcurrentModificationException
- Builder设计模式
- SQLite初学
- 第26讲项目4
- HDU 5884 Sort 2016 ACM/ICPC Asia Regional Qingdao Online
- Android RxJava第一弹之原理详解、使用详解、常用场景(基于Rxjava2.0)
- 混合开启服务
- fragment实现横竖屏的切换
- Activity的起步流程分析
- linux du命令
- 【原创】东方耀reactnative 视频21之-ProgressBar
- openGL ES 图形绘制(详解)
- 第三周 项目一——顺序表的基本运算(2)