懒虫小鑫

roblem Description

小鑫是个大懒虫,但是这一天妈妈要小鑫去山上搬些矿石去城里卖以补贴家用。小鑫十分的不开心。不开心归不开心,小鑫还是要做这件事情的。
我们把这个事情简化一下。有n块矿石,设第i块矿石由两个数字wi和pi表示。分别表示这块石头的重量和可以卖的价钱。小鑫每次只能搬一块矿石去城里卖,所以他决定每次都会搬重量最小的那块。如果恰好有几块重量相等,那就在这几块中挑选价值最高的带走。
由于路程原因。小鑫每天只能打m个来回,也就意味着他只能卖掉m块矿石。你能计算出他能得到多少钱么?

Input

输入数据有多组,到文件结束。
对于每一组数据,第一行为n,m。m≤n≤10000。
接下来有n行,每行两个数代表石头的w与p。

Output

对于每组数据,输出有一行为一个数,为答案。

Example Input

4 2
1 2
1 3
2 2
3 4

Example Output

5



#include <stdio.h>
#include <stdlib.h>
struct node
{
    int w,p,h;
}a[10001],t;
void q(struct node a[],int l,int r)//快速排序;
{
    struct node key=a[l];
    int i=l,j=r;
    if(l>=r) return;
    if(l<r)
    {
    while(i<j)
    {
        while(i<j&&a[j].w>key.w) j--;
        while(i<j&&a[j].w==key.w)//质量相等则选价格高的;
        {
            if(a[j].p>key.p) break;
            else
                j--;
        }
        a[i]=a[j];
        while(i<j&&a[i].w<key.w)
            i++;
        while(i<j&&a[i].w==key.w)
        {
            if(a[i].p<key.p) break;//质量相等,则选价格高的;
            else i++;
        }
        a[j]=a[i];
    }
    a[i]=key;
    q(a,l,i-1);
    q(a,i+1,r);
}
}
int main()
{
    int i,m,n,c;
    while(~scanf("%d%d",&n,&m))
    {
        c=0;
        for(i=0;i<n;i++)
            scanf("%d%d",&a[i].w,&a[i].p);
        q(a,0,n-1);
        for(i=0;i<m;i++)
            c+=a[i].p;
        printf("%d\n",c);
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/509356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springmvc与mybatis整合之实现商品列表

需求 实现商品查询列表&#xff0c;从mysql数据库查询商 品信息。. DAO开发 使用逆向工程&#xff0c;生成代码 注意修改逆向工程的配置文件 ItemService接口 public interface ItemService {/*** 查询商品列表* * return*/List<Item> queryItemList();}. ItemServi…

中断处理程序与中断服务例程

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 目录(?)[-] 1 什么是中断2中断处理程序3中断服务例程4request_irq函数分析 1. 什么是中断 简单来说中断就是硬件设备与处理器的一种交流方式&#xff0c;比如当我按下一个键时&#xff0c;只有当处…

Windows驱动程序开发语言

Windows驱动程序和Win32应用程序一样&#xff0c;都是PE格式&#xff0c;所以说&#xff0c;只要某种语言的编译器能够编译出PE格式的二进制格式文件&#xff0c;并且能够设置驱动程序的入口地址&#xff0c;那么这种语言就可以用来开发Windows驱动程序&#xff0c;所以可以选择…

java 正则表达式 手机号 邮箱(转载)

转载地址&#xff1a;https://www.cnblogs.com/go4mi/p/6426215.html package com.modules.plateform.tool;import java.util.regex.Pattern; /*** 账户相关属性验证工具**/ public class AccountValidatorUtil {/*** 正则表达式&#xff1a;验证用户名*/public static final …

商人小鑫

Problem Description 小鑫是个商人&#xff0c;当然商人最希望的就是多赚钱&#xff0c;小鑫也一样。 这天&#xff0c;他来到了一个遥远的国度。那里有着n件商品&#xff0c;对于第i件商品需要付出ci的价钱才能得到。当然&#xff0c;对于第i件商品&#xff0c;小鑫在自己心中…

Windows驱动程序调用约定

调用约定是指在函数进行调用的时候&#xff0c;会根据不同的调用规则&#xff0c;翻译成不同的汇编代码。不同的调用约定&#xff0c;会有不同的参数的入参顺序&#xff0c;和调用堆栈的处理方式。比较常用的分为C语言调用约定_cdecl&#xff0c;和标准调用约定_stdcall. Wind…

装船问题

Problem Description 王小二毕业后从事船运规划工作&#xff0c;吉祥号货轮的最大载重量为M吨&#xff0c;有10种货物可以装船。第i种货物有wi吨&#xff0c;总价值是pi。王小二的任务是从10种货物中挑选若干吨上船&#xff0c;在满足货物总重量小于等于M的前提下&#xff0c;运…

获得Class引用的三种方式?Class.forName()、getClass以及.class的使用

上代码!!! package com.spring.partise;class A{static{System.out.println("I am A");} } public class helllo {public static void main(String[] args) throws Exception {System.out.println("------------得到Class对象的两种方式---------------")…

Windows驱动程序运行时函数的调用

编译器厂商一般在发布其编译器的时候&#xff0c;会连同运行时函数一同发布。Windows驱动程序不能再代码中使用编译器提供的运行时函数&#xff0c;因为大部分运行时函数是基于Win32 API实现的&#xff0c;由于Win 32 API运行在用户模式&#xff08;RIng3层&#xff09;&#x…

活动选择问题

Problem Description sdut 大学生艺术中心每天都有n个活动申请举办&#xff0c;但是为了举办更多的活动&#xff0c;必须要放弃一些活动&#xff0c;求出每天最多能举办多少活动。Input 输入包括多组输入&#xff0c;每组输入第一行为申请的活动数n(n<100)&#xff0c;从第2…

java加载类时静态代码块、构造代码块、构造方法执行顺序

构造代码块作用&#xff1a;https://blog.csdn.net/hspingcc/article/details/54893853 package com.spring.partise;class A{A(){System.out.println("无参构造方法");}A(String str){System.out.println("带参数构造方法");}static{System.out.println(…

为什么可以通过类名调用静态方法?

JVM加载类&#xff1a; 所有的类都是在对其第一次使用时&#xff0c;动态加载到JVM中的。当程序创建第一个类的静态成员的引用时&#xff0c;就会加载这个类&#xff0c;进而可以得到该类的类型信息&#xff0c;而类型信息可以在程序运行时发现和使用类型信息。这个证明构造器…

小鑫去爬山

Problem Description 马上就要放假了&#xff0c;小鑫打算去爬山。 小鑫要去爬的这座山有n个海拔区间。为了清楚描述我们可以从上到下标号1到n。第i个区间有i个落脚点&#xff0c;每一个落脚点都有一个危险值。小鑫需要在第n个海拔区间挑选一个点向上爬&#xff0c;爬到第1个海…

NT驱动程序和WDM驱动程序的区别

1. Windows驱动程序分为两类&#xff0c;一类是不支持即插即用功能的NT式的驱动程序&#xff1b;另一类是支持即插即用功能的WDM式的驱动程序。2. NT式的驱动程序要导入的头文件时NTDDK.H&#xff0c;而WDM式的驱动要导入的头文件为WDM.H.3. DriverEntry需要放在INIT标志的内存…

java调用类中的静态变量时类中静态代码块什么情况会执行以及类的初始化问题?

类从被加载到虚拟机内存中开始&#xff0c;到卸载出内存为止&#xff0c;它的整个生命周期包括&#xff1a;加载、验证、准备、解析、初始化、使用和卸载七个阶段。 类初始化是类加载过程的最后一个阶段&#xff0c;到初始化阶段&#xff0c;才真正开始执行类中的Java程序代码…

Windows驱动程序的加载

NT式驱动程序的加载 1. 用DriverMonitor工具加载NT式驱动 2. 在注册表中填写相应的字段,Windows对NT式驱动程序的加载&#xff0c;是基于服务的方式加载的&#xff0c;类似于Windows服务程序的加载。设备驱动程序的动态加载主要是基于服务控制程序&#xff08;Service Contro…

北京市(朝阳区)(西城区)(海定区)正则表达式(代码保存)

“ String str “北京市(朝阳区)(西城区)(海定区)”; String ptr “.*?(?\()”; Pattern p Pattern.compile(ptr); Matcher matcher p.matcher(str); if(matcher.find()){ System.out.println(matcher.group()); } “

上升子序列

SubmitStatisticProblem Description 一个只包含非负整数的序列bi&#xff0c;当b1 < b2 < ... < bS的时候&#xff0c;我们称这个序列是上升的。对于给定的一个序列{a1, a2, ...,aN}&#xff0c;我们可以得到一些上升的子序列{ai1, ai2, ..., aiK}&#xff0c;这里1 …

设备对象

设备对象的结构体中有3个域 &#xff08;1&#xff09;DriverObject。这个比较好理解。就是这个设备对象所属的驱动对象。毕竟设备对象是由驱动对象创建的。 &#xff08;2&#xff09;NextDevice。指向下一个设备对象。这里的指向&#xff1a;指的是由同一个驱动对象的创建的设…

Resources.getResourceAsStream用法

Resources&#xff08;com.ibatis.common.resource.*&#xff09; Resources 类为从类路径中加载资源&#xff0c;提供了易于使用的方法。处理 ClassLoader 是一项 富于挑战的工作&#xff0c;尤其是应用服务器/容器的情况下。 Resources 类试图简化这些工作&#xff0c;Res…