题库首页 › 蓝桥杯大赛(C语言) › 题目 11068

游戏任务 题目描述 有一款新游戏,通关这个游戏需要完成n个任务,这n个任务可按任意次序完成,每个任务设置了启动能量值和完成任务消耗的能量值,且消耗的能量值小于等于该任务的启动能量值,如果玩家当前的能量值低于该任务启动能量值则不能开始该任务。 例 1:玩家当前的能量值为 7,当前任务的启动能量值为 5,完成任务消耗的能量值为 3,则可以开始该任务,完成任务后玩家剩余能量值为4 例 2:玩家当前的能量值为 5,当前任务的启动能量值为 8,则无法开始该任务。 游戏开始时玩家需要一个初始能量值用来完成这几个任务,当给定每个任务的启动能量值和完成任务消耗的能量值,请问初始能量的最小值是多少? 例如:n=3,这3个任务的启动能量值和完成任务消耗的能量值分别是:(2,2)、(9,5)、(7,4),那么玩家初始能量的最小值为12。可按照如下顺序完成任务: 完成任务(9,5),玩家剩余能量值为7: 完成任务(7,4)玩家剩余能量值为 3; 完成任务(2,2),玩家剩余能量值为1. 尽管最后玩家的能量值还剩余 1,但是初始能量值无法再降低,否则完成任务(9,5)后,玩家的剩余能量值会小于任务(7,4)的启动能量值,导致无法开始该任务。 输入格式 共n + 1行 第一行输入一个整数n(1≤n≤10^5),表示游戏的任务数量 接下来n行,每行输入两个整数x,y(1≤y≤x≤1000),分别表示当前任务所需的启动能量值和完成任务所消耗的能量值,整数之间以一个空格隔开 输出格式 输出一个整数,表示玩家要完成这 n个任务需要的初始能量的最小 输入样例 3 2 2 9 5 7 4 输出样例 12

正确答案:参考程序(Python):游戏任务。贪心:按(启动-消耗)降序,求初始能量最小值。初始需保证每一步剩余能量≥下一任务启动值。倒推:从最后向前累加所需初始。或对顺序求max。样例3任务→12。核心:贪心确定初始能量。

试卷来源:202408(第15届)蓝桥杯C++编程青少组(省赛_中级)真题

本卷相关题目

在线做题 同科目题库