哈理工OJ 2261 近代化改修(排序+贪心)
来源:互联网 发布:用户登录深澜软件 编辑:程序博客网 时间:2024/05/22 03:02
题目链接:http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2261
近代化改修
Time Limit: 3000 MS Memory Limit: 32768 K
Total Submit: 173(52 users) Total Accepted: 40(35 users) Rating: Special Judge: No
Description
舰娘们的战斗力可以用一个数值来表示,又分成了面板战斗力和实际战斗力。他们的换
算关系是:如果一个舰娘的面板战斗力为x的话,那么她的实际战斗力为⌊x/10⌋(⌊x⌋表示对x向下取整数)。
显然舰娘的面板战斗力不能无限高,所以她们的面板战斗力的上限是 100。
我们还能通过近代化改修的方式来增强舰娘的面板战斗力,每次近代化改修可是使得一个舰娘的面板战斗力加1。假定现在我们的狗粮可以支持近代化改修p次,那么能得到的最大实际战斗力的总和是多少?
Input
数据的第一行包括一个整数T,表示数据的组数。
每组数据的第一行包括了两个整数n(1≤n≤10^5)和p(1≤p≤10^7),分别表示舰娘的数量和最大的近代化改修的次数。
接下来的一行有n个整数,ai(1≤ai≤100)表示第i个舰娘的当前面板战斗力。
Output
每组数据的输出包括一行,有一个整数,表示最大的实际战斗力。
Sample Input
3
2 4
7 9
3 8
17 15 19
2 2
99 100
Sample Output
2
5
20
Source
“尚学堂杯”2015级程序设计竞赛(10月)正式赛
Author
TwIStOy
【思路分析】先给所有的舰娘按缺多少可以成为10的倍数进行排序,注意每个舰娘的最大面板战斗力为100,然后按照缺的少的优先进行分配,最后剩余的特殊处理一下就好了。
【AC代码】
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define LL long longstruct node{ LL x,cha;}a[100005];bool cmp(node p,node q){ return p.cha<q.cha;}int main(){ LL t,n,q; scanf("%lld",&t); while(t--) { scanf("%lld%lld",&n,&q); for(LL i=1;i<=n;i++) { scanf("%lld",&a[i].x); if(a[i].x>100) { a[i].x=100; } if(a[i].x%10) a[i].cha=10-(a[i].x%10); else a[i].cha=0; } LL sum=0,ss=0; sort(a+1,a+n+1,cmp); for(LL i=1;i<=n;i++) { if(q>=a[i].cha) { q-=a[i].cha; sum+=(a[i].x+a[i].cha)/10; ss+=(10-(a[i].x+a[i].cha)/10); } else { sum+=a[i].x/10; ss+=(10-(a[i].x/10)); } } sum+=min(ss,q/10); printf("%lld\n",sum); } return 0;}
- 哈理工OJ 2261 近代化改修(排序+贪心)
- 哈理工OJ 1192 追逐(贪心算法)
- 哈理工OJ 1674 充电(贪心算法)
- hrbust 哈理工oj 1588 神医【贪心】
- hrbust哈理工oj 1674 充电【贪心】
- 哈理工oj 2080链表 【贪心】
- 哈理工oj 1674充电【贪心】
- Hrbust2261近代化改修(优先队列+贪心+猜数据)
- 哈理工OJ 2284 Sign Deliveries(结构体排序)
- 哈理工OJ 1631 技能修炼(拓扑排序)
- 哈理工OJ 1150 相识(排序后枚举)
- ASCII码排序(南阳理工OJ)
- 哈理工OJ 1315 火影忍者之~大战之后(贪心算法)
- hrbust 哈理工oj 1570 田忌赛马【贪心】
- 哈理工oj 1079 I can do it【贪心】
- hrbust 1935 哈理工oj 1935 PROBLEM-FIVE【贪心】
- hrbust 2080 哈理工oj 2080 链条【简单贪心】
- 【南阳理工oj】喷水装置(一)(贪心)
- STM32F105/107系列以太网PHY设计资料
- com.jacob.com.ComFailException: VariantChangeType failed
- Kinect v2控制鼠标原理分析和源码(0积分下载)
- python学习 第二章 列表和元组 《python基础教程第二版修订版》
- 工行ICBC_WAPB_B2C支付接口,工行icbc_wapb_b2c
- 哈理工OJ 2261 近代化改修(排序+贪心)
- 【NOIP2017GDKOI】b
- 解决linux安装软件:/lib/ld-linux.so.2: bad ELF interpreter问题
- 简单工厂
- js模块化编程一:模块化函数的介绍
- 1元钱分成1分2分5分
- CentOS虚拟机环境下安装JDK环境
- 【Python】使用skimage完成二值图像连通区域标记及属性提取
- 神奇的枚举代码