SDUTOJ 貪心 -商人小鑫

題目描述

小鑫是個商人,當然商人最希望的就是多賺錢,小鑫也一樣。
這天,他來到了一個遙遠的國度。那裏有着n件商品,對於第i件商品需要付出ci的價錢才能得到。當然,對於第i件商品,小鑫在自己心中有一個估價pi:代表着當他買下這件商品後帶回他的國家可以賣出的價格。小鑫只能帶回m件商品,你能幫他計算一下他最多能賺多少錢麼?

輸入

輸入有多組,到文件結束。(注:數據有很多組,請用高效率算法)
對於每一組數據。第一行是n,m。m≤n≤10000000。
緊接着有n行,每一行有兩個數 c ,p。第i行代表着ci,pi。ci≤pi
數據都在int範圍內 。  

輸出

對於每組輸入數據只輸出一行一個數,代表小鑫能賺多少錢。

示例輸入

4 2
1 2
1 3
2 2
3 4

示例輸出

3

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define N 10000001
struct node
{
  int ci;
  int pi;
  int bi;
}ls[N];
int cmp(node a,node b)
{
  return a.bi>b.bi;
}
int main()
{
  int n,m,i,j;
  while(~scanf("%d%d",&n,&m))
  {
  int sum=0;
     for(i=0;i<=n-1;i++)
     {
        scanf("%d%d",&ls[i].ci,&ls[i].pi);
        ls[i].bi=ls[i].pi-ls[i].ci;
     }
     sort(ls,ls+n,cmp);
     for(i=0;i<=m-1;i++)
     {
       sum=sum+ls[i].bi;
     }
     printf("%d\n",sum);
  }
   return 0;
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章