码迷,mamicode.com
首页 > 其他好文 > 详细

京东-2017-拍卖产品

时间:2017-08-17 22:45:45      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:space   for   begin   include   code   clu   algorithm   second   ++   

题目描述 
公司最近新研发了一种产品,共生产了n件。有m个客户想购买此产品,第i个客户出价Vi元。为了确保公平,公司决定要以一个固定的价格出售产品。每一个出价不低于要价的客户将会得到产品,余下的将会被拒绝购买。请你找出能让公司利润最大化的售价。 
输入 
输入第一行二个整数n(1<=n<=1000),m(1<=m<=1000),分别表示产品数和客户数。 
接下来第二行m个整数Vi(1<=Vi<=1000000),分别表示第i个客户的出价。 
样例输入 
5 4 
2 8 10 7 
输出 
输出一行一个整数,代表能够让公司利润最大化的售价。 
样例输出 

解题思路:所有客户都会给出一个价格,但是我们要找出其中一个价格使得总的利润最大。即确定一个值,以该值为价格进行拍卖,所有大于该值的客户均能以该价格进行购买。即总的利润为拍卖的价格和大于该价格的所有客户人数的乘积。

所以,直接排序完了求解就OK

#include<stdio.h>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
    int n,m,a;
    vector<int> data(m);
    pair<int,int> res;
    cin>>n>>m;
    int mi=min(n,m);
    while(m--){
        scanf("%d",&a);
        data.push_back(a);
    }
   sort(data.rbegin(),data.rend());
   for(int i=0;i<mi;i++){
        if(res.first<data[i]*(i+1)){    
        res.first=data[i]*(i+1);
        res.second=data[i];
        }
   }
  cout<<res.second<<endl;
}

 

京东-2017-拍卖产品

标签:space   for   begin   include   code   clu   algorithm   second   ++   

原文地址:http://www.cnblogs.com/awpboxer/p/7384632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!