#1734. 珅泽教育CSP-J第一轮模拟考第七套 第 38 题
珅泽教育CSP-J第一轮模拟考第七套 第 38 题
三、完善程序(单选题,每小题3分,共计30分)
第1题
有一个用户,在连续的 天里,都会收到积分,也会消费积分。积分在获得后的 天内有效( 为一个给定的整数),过期失效。
在第 天,用户将会获得 分,他需要消费 分。若积分不足,则用掉全部积分后用其他方式消费。消费积分时,先用最早的。当天获取的积分可以当天消费。请计算这个用户一共消费了多少积分。
const int max_size = 100000;
int queue[max_size];
int head = 0;
int tail = 0;
int main()
{
int n, m;
std::cin >> n >> m;
int sum = 0;
for (int i = 0; i < n; ++i) {
int p, c;
std::cin >> p >> c;
queue[____(1)____] = p;
while ( ____(2)____ ) {
if ( ____(3)____ ) {
queue[head] -= c;
sum += c;
c = 0;
}
else {
int amount = ____(4)____;
c -= amount;
sum += amount;
}
}
if ( ____(5)____ > m) {
head++;
}
}
std::cout << sum << "\n";
}
(3) 处应填( )。
{{ select(1) }}
queue[head] > cqueue[tail] > cqueue[head + 1] > cqueue[tail - 1] > c