假设我们有两个数组p和c,每个数组都有D个元素,并且还有另一个数字G。考虑在编程竞赛中,每个问题的分数都基于其难度。问题p[i]的分数为100i。这些p[1] + … + p[D]问题是竞赛中的所有问题。编程网站上的用户有一个数字total_score。用户的total_score是以下两个元素的和。
基础分数:解决的所有问题的分数之和
奖励:当用户解决所有分数为100i的问题时,除了基础分数外,还会获得完美奖励c[i]。
Amal是竞赛中的新手,还没有解决任何问题。他的目标是获得总分G或更多分。我们需要找到他至少需要解决多少问题才能达到这个目标。
立即学习“C++免费学习笔记(深入)”;
因此,如果输入是G = 500; P = [3, 5]; C = [500, 800],那么输出将是3
步骤
为了解决这个问题,我们将按照以下步骤进行:
D := size of pmi := 10000for initialize i := 0, when i = G, then: mi := minimum of mi and countreturn mi
登录后复制
Example
让我们看下面的实现以更好地理解−
#include using namespace std;int solve(int G, vector p, vector c){ int D = p.size(); int mi = 10000; for (int i = 0; i b(i); for (int j = 0; j = G) { mi = min(mi, count); } } return mi;}int main() { int G = 500; vector P = { 3, 5 }; vector C = { 500, 800 }; coutInput
500, { 3, 5 }, { 500, 800 }登录后复制
输出
3登录后复制
以上就是C++程序来找出至少需要获得多少分才能达到G分的分数的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2583304.html