输入
输入第一行二个整数n(1<=n<=1000),m(1<=m<=1000),分别表示产品数和客户数。
接下来第二行m个整数Vi(1<=Vi<=1000000),分别表示第i个客户的出价。
|
|
输出
输出一行一个整数,代表能够让公司利润最大化的售价。
|
|
时间限制
C/C++语言:1000MS
其它语言:3000MS
|
内存限制
C/C++语言:65536KB
其它语言:589824KB
|
package cn.com.jingdong;
import java.util.Scanner;
public class Main4 {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
int m = sc.nextInt();
int n = sc.nextInt();
sc.nextLine();
int[] v = new int[n];
for(int i = 0;i<n;i++){
v[i] = sc.nextInt();
}
//对V[i]进行排序从小到大
for(int i =0;i<n-1;i++){
for(int j=0;j<n-1-i;j++){
if(v[j]>v[j+1]){
int temp = v[j];
v[j] = v[j+1];
v[j+1] = temp;
}
}
}
int max = 0;
int index = 0;
int low = Math.max(0,n-m);//注意:当出价客户个数n>商品数m时,只能选择价格数组中的后n个数,否则(n-i)会大于m,并不是卖出的商品数
for(int i = low;i<n;i++){
int temp = v[i]*(n-i);
if(temp>=max){
max = temp;
index = v[i];
}
}
System.out.println(index);
}
}