soj 1890. Balls Again
来源:互联网 发布:安徽大学网络教育平台 编辑:程序博客网 时间:2024/05/06 13:19
题意:有N个球,M个瓶子,每个球有分数,每个瓶子有容球上限和容分数上限,这里的容分数上线是其中的每个球都不达到这个上限就行。问最多能容纳多少个球,这些球加起来分数多少。
思路:贪心,分数高的球往分数上限高的瓶子里面扔即可。
#include <cstdio>#include <algorithm>using namespace std;struct Bottle {int c, q;} b[205];bool cmp1(Bottle a, Bottle b) {if (a.q != b.q) return a.q > b.q;return a.c > b.c;}bool cmp2(int a, int b) {return a > b;}int p[205];int n, m, i, j;int ansN, ansP;int main() {while (scanf("%d%d",&n,&m) != EOF) {for (i = 0; i < n; ++ i) scanf("%d",&p[i]);for (i = 0; i < m; ++ i) scanf("%d%d",&b[i].c,&b[i].q);sort(p, p+n, cmp2);sort(b, b+m, cmp1);ansN = ansP = 0;j = 0;for (i = 0; i < n; ++ i) {while (b[j].c == 0) {j ++;if (j >= m) {i = n;break;}}if (p[i] <= b[j].q) {b[j].c --;ansN ++;ansP += p[i];}}printf("%d %d\n", ansN, ansP);}}
- soj 1890. Balls Again
- Sicily 1890. Balls Again
- soj
- Again
- soj 1814
- SOJ-1012
- SOJ-1013
- SOJ-1015
- SOJ-1016
- SOJ-3327
- soj 3109
- { }soj.1206
- { }soj.2013
- SOJ-Dollars
- soj 1715
- soj 1681
- soj 6099
- soj 1050
- ListView遍历每个Item出现NullPointerException的异常
- linux 信号signal和sigaction理解
- PHP面向对象:接口实例
- 浅谈移动应用注册表单设计
- [Python入门及进阶笔记]Python-基础-简介/入门
- soj 1890. Balls Again
- ps命令--排序
- php 学习(2)
- 【黑马程序员】面向对象(六) 第十天
- Linux上配置简单DNS
- Android SDK Timer的schedule()方法的正确使用
- linux下安装非标准库为写程序
- 使用DX查看系统配置
- gdb调试流程