链家笔试链家——找寻最小消费获取最大平均分java
2017-10-10 21:24
281 查看
链家找寻最小消费获取最大平均分
输入:
5 5 4#表示科目数n,每科最大分值r,平均分avg
5 2#每科的实际得分,分数加1分的消耗的能量
4 7
3 1
3 2
2 5
输出:
4 #到达n*avg消耗的最小能量
package Campus; import java.io.*; import java.util.*; public class Main { public static void main(String args[]) { Scanner cin = new Scanner(System.in); int n, r, avg; n = cin.nextInt(); r = cin.nextInt(); avg = cin.nextInt(); int[][] arr = new int [2]; for(int i = 0; i < n; i++){ for(int j = 0; j < 2; j++){ arr[i][j] = cin.nextInt(); } } int temp_sum = 0; for(int i = 0; i < n; i++){ temp_sum += arr[i][0]; } int temp_avg = 0; temp_avg = temp_sum / n; if (temp_avg >= avg){ System.out.println(0); }else{ int[] arr0 = new int ; int[] arr1 = new int ; for(int i = 0; i < n; i++){ arr0[i] = arr[i][0]; arr1[i] = arr[i][1]; } int temp0=0; int temp1=0; for(int i = 0; i < n-1; i++){ for(int j = i; j< n; j++){ if(arr0[i] < arr0[j]){ temp0=arr0[i]; temp1=arr1[i]; arr0[i]=arr0[j]; arr1[i]=arr1[j]; arr0[j]=temp0; arr1[j]=temp1; } } } //记录差多少分 int temp3 = 0; temp3 = n*avg-temp_sum; for(int i = 0; i < n; i++){ if(arr0[i] >= avg) continue; else{ for(int j= i;j < n-1; j++){ for(int k = j+1; k< n; k++){ if(arr1[j] > arr1[k]){ temp0=arr0[i]; temp1=arr1[i]; arr0[j]=arr0[k]; arr1[j]=arr1[k]; arr0[k]=temp0; arr1[k]=temp1; } } } //记录临时坐标差 int temp4 = temp3; int temp5 = 0; for (int g = i; g < n; g++){ temp4=temp4-arr1[i]*(r-arr0[i]); temp5=temp5+arr1[i]*(r-arr0[i]); if ( temp4<=0){ System.out.println(temp5); break; } } } for(int v = 0; v < n; v++){ System.out.println(arr0[v]+","+arr1[v]); } break; } } } }
相关文章推荐
- 第四个Java程序,获取浮点类型的最大值和最小值。
- java 获取一组数据中的最大值和最小值
- JAVA 数组实例-求学生成绩的最大成绩,获取数组中的最大值、最小值
- 16.java语言基础-获取数组最大和最小元素
- Java 8 获取某天最大(23:59:59)最小(00:00:00)时间
- JAVA笔试面试之使用堆排对大量数据进行筛选最大或最小
- sas转java(1)截取子矩阵、unique、获取矩阵的行列数、创建特殊矩阵、求矩阵中的最大最小值、横纵合并矩阵、将矩阵转换为0,1形式、转置求逆
- Java常识求阶层!的和 ,获取某个数组中的最小值,定义数组,获得成绩之和,平均成绩,最小成绩,最大成绩。等问题大全
- java 获取数组的最大值和最小值
- java8 获取范围之内的随机数(指定最小,最大值)
- Java 8 获取某天最大(23:59:59)最小(00:00:00)时间
- 如鹏java学习进程 获取数组最大值
- 阿里14笔试题-求一个二叉树最大值和最小值的差值绝对值
- 编程之美2.10寻找数组中的最大值和最小值扩展问题Java版
- 动态赋值js像map一样,获取数组中最大值,最小值
- MS SQL两个日期比较,获取最大或最小的日期
- Java输出double类型中的最小正数和最大正数
- 笔试题1,寻找数组中的最大值和最小值
- Java简单例题(1、获取不等随机数。2、录入多个数据,控制台输出最大值)
- 操作数组的常用方式一----获取数组元素中最大值和最小值