【GESP】C++二级练习 luogu-b3670, [语言月赛202210] 玉桂狗
GESP二级练习,多重循环、分支语句练习,难度★☆☆☆☆。
luogu-B3670 [语言月赛202210] 玉桂狗
题目要求
题目描述
在商店里共有 $n$ 只玉桂狗玩偶,每只玩偶有可爱度 $k$ 和价格 $p$。$k$ 越大的玉桂狗玩偶越可爱。
某 E 现在有 $R$ 元钱,她想知道自己可以买到的最可爱的玉桂狗玩偶的可爱度为多少。
保证某 E 一定能买到至少一只玉桂狗。
输入格式
输入共 $n+1$ 行。
输入的第一行为两个个整数 $n,R$。
接下来 $n$ 行,每行两个个整数 $k,p$,用于描述一只玉桂狗。
输出格式
输出一行一个整数,代表某 E 能够买到的最可爱的玉桂狗的可爱度。
样例输入 #1
1
2
3
4
5
4 10
100 20
80 10
90 15
10 1
样例输出 #1
1
80
提示
对于 $30\%$ 的数据,$n=1$;
对于另外 $30\%$ 的数据,$R \ge \max p$;
对于 $100\%$ 的数据,$1 \le n \le 10^5, 1 \le k,p,R \le 10^6$。
题目分析
解题思路
- 首先,读取输入的玉桂狗玩偶数量 $n$ 和某 E 的钱数 $R$。
- 初始化一个变量
max
来存储某 E 能够买到的最可爱的玉桂狗玩偶的可爱度,初始值为 0。 - 使用一个循环来遍历每只玉桂狗玩偶。
- 对于每只玉桂狗玩偶,读取其可爱度 $k$ 和价格 $p$。
- 如果当前玉桂狗玩偶的可爱度 $k$ 大于
max
且价格 $p$ 小于或等于某 E 的钱数 $R$,则更新max
的值为 $k$。 - 输出
max
的值,即某 E 能够买到的最可爱的玉桂狗玩偶的可爱度。
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
int n, r; // 定义变量n和r
cin >> n >> r; // 读取输入的n和r
int k, p; // 定义变量k和p
int max = 0; // 初始化变量max为0
for (int i = 1; i <= n; i++) { // 遍历每只玉桂狗玩偶
cin >> k >> p; // 读取当前玉桂狗玩偶的可爱度k和价格p
if (k > max && p <= r) { // 如果当前玉桂狗玩偶的可爱度k大于max且价格p小于或等于某E的钱数r
max = k; // 更新max的值为k
}
}
cout << max; // 输出max的值,即某E能够买到的最可爱的玉桂狗玩偶的可爱度
return 0;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
GESP各级别考纲要点、知识拓展和练习题目清单详见C++学习项目主页
“luogu-”系列题目已加入洛谷Java、C++初学团队,作业清单,可在线评测,团队名额有限,欢迎加入。
“bcqm-”系列题目可在编程启蒙题库进行在线评测。
本文由作者按照 CC BY 4.0 进行授权