-
[1449] Annie
- 时间限制: 1000 ms 内存限制: 65535 K
- 问题描述
-
Annie is a kawaii loli in League of Legends. High Councilor Kiersta Mandrake said that Annie may be one of the most powerful champions ever to have fought in a Field of Justice.
Annie has an ability, Molten Shield(熔岩护盾). This shield increases Annie's armor and magic resist and damages enemies who hit Annie with basic attacks.
This ability keeps for 5 seconds and cost 10 seconds to cold down to cast nextMolten Shield.
We assume that Annie casts the Molten at the very beginning of 0 second. And she casts the next Molten Shield when it colds down immediately. The magic damage of the base attack when she is under the shield is 60 + (0.2 * Spell Power).
We give you the spell power of Annie's and the time of enemies' each base attack. You should tell me how much damage Anniemade via the Molten Shield.
- 输入
-
This problem contains several cases.
The first line of each case contains two integers N and S, indicate the number of attack times and the spell power of Annie's. (0 < N ≤ 1000, 0 < s ≤ 1000)
Then N lines followed. Each line is a decimal number that indicates the time moment of that base attack. The decimal number will not exceeds 1000. - 输出
-
You should output the magic damage via the Molten Shield. 1 decimal places reserved.
- 样例输入
-
5 301 2.00 5.01 5.00 8.00 14.03
- 样例输出
-
360.6
- 提示
-
无
- 来源
-
XadillaX
题目意思是说,黑暗之女-安妮的E技能是一个可以造成一个魔法伤害的盾,开了盾之后就能给攻击者一个魔法伤害,盾能持续5秒,需要冷却10秒才能重新开盾,给出攻击的时间,求安妮能够造成多大的魔法伤害。注意:盾从开的那一刻开始冷却,与持续时间不冲突,这里可能造成误区。题目意思是,每10秒钟开一次盾,不管有没有攻击者。。。
#include<cstdio> #include<cstring> const int mx = 1000+10; double t[mx]; int n,S; int main() { while(~scanf("%d%d",&n,&S)) { int cnt=0; for(int i=0;i<n;i++) { scanf("%lf",&t[i]); int a=(int)t[i]; a%=10; if(a==5 && (int)t[i]<t[i]) continue; //(int)有可能是向下取整,如果是向下取整刚好等于5这种情况要排除 if(a>=0 && a<=5) cnt++; //在盾的持续时间内攻击,累加器 ++ } printf("%.1lf\n",(60+(S*0.2))*cnt); } return 0; }
NBUT 1449 Annie
最新推荐文章于 2019-09-27 20:00:04 发布