很抱歉,您没有提供需要改写的句子。请提供您希望改写的句子,我将为您改写为一个长尾词的。

2026-05-24 00:191阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计690个文字,预计阅读时间需要3分钟。

很抱歉,您没有提供需要改写的句子。请提供您希望改写的句子,我将为您改写为一个长尾词的。

1. 简述:描述+小V今年有n门课,每门课都有考试,为拿到奖学金,小V必须让自己的平均成绩至少为avg。每门课的成绩由平时成绩和考试成绩组成,满分100分。在考试前,小V已知道每门课的平时成绩+考试成绩之和。

1.简述:

描述

小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。在考试前,小v他已经知道每门课的平时成绩为ai,假设付出的时间与获得的分数成正比,若想让这门课的考试成绩多拿一分的话,小v要花bi的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。问小v为了拿到奖学金,至少要花多少时间复习?

输入描述:

第一行三个整数n,r,avg(1 <= n <= 105,1 <= r <= 109,1 <= avg <= 106),接下来n行,每行两个整数ai和bi,(0 <= ai<= 106,1 <= bi<= 106) 注意:本题含有多组样例输入。

输出描述:

每个用例对应一行输出答案。

示例1

输入:

5 10 90 59 18 10 19 1003 5 32 14 1003 3

输出:

430

说明:

示例1有两组测试用例。对于第2组测试用例,小v的平时成绩的平均成绩为(2+4+3)/3=3分,已经达到拿奖学金的最低要求,所以可以不用复习。

2.代码实现:

很抱歉,您没有提供需要改写的句子。请提供您希望改写的句子,我将为您改写为一个长尾词的。

import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()){ int n = in.nextInt();//n门课 int r = in.nextInt();//满分分数 int avg = in.nextInt();//可获得奖学金的平均分数 int[][] arr = new int[n][2];// for (int i = 0; i < n; i++) {//每门课的具体分数和复习加分情况 arr[i][0] = in.nextInt(); arr[i][1] = in.nextInt(); } //按复习代价从小到达排序 Arrays.sort(arr, Comparator.comparingInt(o -> o[1])); //按照思路,要想使复习时间最少,优先选择复习时间少的课程复习 //首先判断是否已经满足要求,满足的话就不用复习 long sum = 0;//平时成绩总分 for (int i = 0; i < n; i++) { sum += arr[i][0]; } int k = 0; long time = 0;//复习时间 long limit = avg * n;//需要达到的最低总分要求 while (sum < limit){ int temp = r - arr[k][0];//当前课程可以复习的分数 if (sum + temp >= limit){//如果复习当前课程到满分,达到了要求 time += (limit -sum) * arr[k][1]; sum = limit;//跳出循环 }else {//如果复习当前课程到满分,还没有达到要求 time += temp * arr[k][1]; sum += temp; k++; } } System.out.println(time); } }}

本文共计690个文字,预计阅读时间需要3分钟。

很抱歉,您没有提供需要改写的句子。请提供您希望改写的句子,我将为您改写为一个长尾词的。

1. 简述:描述+小V今年有n门课,每门课都有考试,为拿到奖学金,小V必须让自己的平均成绩至少为avg。每门课的成绩由平时成绩和考试成绩组成,满分100分。在考试前,小V已知道每门课的平时成绩+考试成绩之和。

1.简述:

描述

小v今年有n门课,每门都有考试,为了拿到奖学金,小v必须让自己的平均成绩至少为avg。每门课由平时成绩和考试成绩组成,满分为r。在考试前,小v他已经知道每门课的平时成绩为ai,假设付出的时间与获得的分数成正比,若想让这门课的考试成绩多拿一分的话,小v要花bi的时间复习,不复习的话当然就是0分。同时我们显然可以发现复习得再多也不会拿到超过满分的分数。问小v为了拿到奖学金,至少要花多少时间复习?

输入描述:

第一行三个整数n,r,avg(1 <= n <= 105,1 <= r <= 109,1 <= avg <= 106),接下来n行,每行两个整数ai和bi,(0 <= ai<= 106,1 <= bi<= 106) 注意:本题含有多组样例输入。

输出描述:

每个用例对应一行输出答案。

示例1

输入:

5 10 90 59 18 10 19 1003 5 32 14 1003 3

输出:

430

说明:

示例1有两组测试用例。对于第2组测试用例,小v的平时成绩的平均成绩为(2+4+3)/3=3分,已经达到拿奖学金的最低要求,所以可以不用复习。

2.代码实现:

很抱歉,您没有提供需要改写的句子。请提供您希望改写的句子,我将为您改写为一个长尾词的。

import java.util.*;public class Main{ public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()){ int n = in.nextInt();//n门课 int r = in.nextInt();//满分分数 int avg = in.nextInt();//可获得奖学金的平均分数 int[][] arr = new int[n][2];// for (int i = 0; i < n; i++) {//每门课的具体分数和复习加分情况 arr[i][0] = in.nextInt(); arr[i][1] = in.nextInt(); } //按复习代价从小到达排序 Arrays.sort(arr, Comparator.comparingInt(o -> o[1])); //按照思路,要想使复习时间最少,优先选择复习时间少的课程复习 //首先判断是否已经满足要求,满足的话就不用复习 long sum = 0;//平时成绩总分 for (int i = 0; i < n; i++) { sum += arr[i][0]; } int k = 0; long time = 0;//复习时间 long limit = avg * n;//需要达到的最低总分要求 while (sum < limit){ int temp = r - arr[k][0];//当前课程可以复习的分数 if (sum + temp >= limit){//如果复习当前课程到满分,达到了要求 time += (limit -sum) * arr[k][1]; sum = limit;//跳出循环 }else {//如果复习当前课程到满分,还没有达到要求 time += temp * arr[k][1]; sum += temp; k++; } } System.out.println(time); } }}