生活随笔
收集整理的這篇文章主要介紹了
sdut 懒虫小鑫
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Time Limit:?1000MS?
Memory Limit:?65536KB
Submit?Statistic?Discuss
Problem Description
小鑫是個(gè)大懶蟲,但是這一天媽媽要小鑫去山上搬些礦石去城里賣以補(bǔ)貼家用。小鑫十分的不開心。不開心歸不開心,小鑫還是要做這件事情的。 我們把這個(gè)事情簡(jiǎn)化一下。有n塊礦石,設(shè)第i塊礦石由兩個(gè)數(shù)字wi和pi表示。分別表示這塊石頭的重量和可以賣的價(jià)錢。小鑫每次只能搬一塊礦石去城里賣,所以他決定每次都會(huì)搬重量最小的那塊。如果恰好有幾塊重量相等,那就在這幾塊中挑選價(jià)值最高的帶走。 由于路程原因。小鑫每天只能打m個(gè)來回,也就意味著他只能賣掉m塊礦石。你能計(jì)算出他能得到多少錢么?
Input
輸入數(shù)據(jù)有多組,到文件結(jié)束。 對(duì)于每一組數(shù)據(jù),第一行為n,m。m≤n≤10000。 接下來有n行,每行兩個(gè)數(shù)代表石頭的w與p。
Output
對(duì)于每組數(shù)據(jù),輸出有一行為一個(gè)數(shù),為答案。
Example Input
4 2
1 2
1 3
2 2
3 4
Example Output
5 #include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define N 10010
struct node
{int wi;int pi;
}ls[N];
int cmp(node a,node b)
{if(a.wi==b.wi)return a.pi>b.pi;elsereturn a.wi<b.wi;
}
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].wi,&ls[i].pi);}sort(ls,ls+n,cmp);for(i=0;i<=m-1;i++){sum=sum+ls[i].pi;}printf("%d\n",sum);
}return 0;
}
總結(jié)
以上是生活随笔為你收集整理的sdut 懒虫小鑫的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。