南僧北侠🐷 13920384050
关注数: 39 粉丝数: 273 发帖数: 3,400 关注贴吧数: 68
求助一道题 A 防御 输入文件defense.in 输出文件defense.out 源文件名defense.cpp/defense.c/defense.pas 时间限制1s [描述] 在一个塔防小游戏中,有很多防线。每条防线由一排n个独立的防御体[1 : n]进行防御。 游戏过程中,会不断有敌人对防线进行攻击,每次攻击会指定防御体[l : r]进行攻击力为a的攻击。第 一防线具有护甲,护甲承受攻击后,对应的防御体所受到的伤害为攻击力,但护甲承受的伤害总量到达一定 程度后就会破碎,此时防御体所受的伤害加倍。目前第一防线的力量充足,玩家致力于对后面的防线的建 设,不过为确认游戏进度和第一防线的情况,玩家会不时地将鼠标移动到第一防线的某个防御体上,以查看 其所受到的伤害。 [输入] 第一行,两个整数n; q,分别表示防御体个数以及攻击和查询的总数。 第二行,n个数,表示每个防御体护甲的承受能力pi。 接下来q 行,每行可能具有如下形式 A l r a 表示对防御体l; l + 1; : : : ; r进行攻击力为a的攻击 Q x 表示查询防御体x目前所受到的伤害,初始时伤害为0 [输出] 一行,一个整数,表示所有查询结果之和对1; 000; 000; 009的余数 [样例] defense.in 5 7 3 1 4 1 2 A 1 3 2 Q 2 A 1 4 1 Q 1 A 1 4 1 Q 2 Q 1 defense.out 16 [提示] 3/0 1/0 4/0 1/0 2/0 [A 1 3 2] 1/2 2 2/2 1/0 2/0 [Q 2] ! 2 [A 1 4 1] 3 4 1/3 1 2/0 [Q 1] ! 3 [A 1 4 1] 5 6 4 3 2/0 [Q 2] ! 6 [Q 1] ! 5 [数据范围] 30%的数据,q  1000 100%的数据,1  n  100000,1  q  100000,0  pi  1000000,0  a  10000 1
首页 1 2 下一页