Doors Breaking and Repairing
Posted wsy107316
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Doors Breaking and Repairing相关的知识,希望对你有一定的参考价值。
题目链接:Doors Breaking and Repairing
题目大意:有n个门,先手攻击力为x(摧毁),后手恢复力为y(恢复),输入每个门的初始“生命值”,当把门的生命值攻为0时,就无法恢复了。问:最多可以把几个门的生命值攻为0。
思路:(1)当 x>y 的时候肯定所有的门的生命值都能降为0;
(2)当 x<=y 的时候,先手的最优策略就是每次去攻击那些当前“生命值”比自己攻击力小的门,使它们的生命值降为0;
后手的最优策略就是去提高那些“生命值”比先手小的门的“生命值”,来减少先手“攻破”的门的数量,
那些“生命值”本来就比先手攻击力高的先手就更攻破不了了;所以直接用门的“”生命值”小于等于x的门的个数除以2向上取整即可。
1 /* */ 2 # include <bits/stdc++.h> 3 using namespace std; 4 typedef long long ll; 5 6 ll a[110005]; 7 int main() 8 9 int n, x, y, num=0, sum=0; 10 cin>>n>>x>>y; 11 for(int i=1; i<=n; i++ ) 12 13 cin>>a[i]; 14 if( a[i]<=x ) 15 sum++; 16 17 if( x<=y ) 18 cout<<ceil(sum/2.0)<<endl; 19 else 20 cout<<n<<endl; 21 return 0; 22
以上是关于Doors Breaking and Repairing的主要内容,如果未能解决你的问题,请参考以下文章
论文笔记 Enhancing the Locality and Breaking the MemoryBottleneck of Transformer on Time Series Forecas
Linux虚拟机(lvm)报Unmount and run xfs_repair
REPAIR修复mysql报错is marked as crashed and should be
MS ACCESS Compact and Repair using Python 给出错误文件不能以独占方式打开
Table '.gtseventdata#P#p0' is marked as crashed and last (automatic?) repair failed