jzoj 1146. 危险系数(acrobat)

jzoj 1146. 危险系数(acrobat)1146.危险系数(acrobat) (FileIO): input:acrobat.in output:acrobat.out时间限制: 1000ms  空间限制: 262144KB  具体限制  GotoProblemSet题目描述   N(1输入第一行:输入一个整数N;第2到

大家好,又见面了,我是你们的朋友全栈君。

题目描述

      N(1 <= N <= 50,000,标记为1..N)个人计划玩一个叠罗汉杂技,除了最底下的那个人以外每个人都站在另一个人的头顶上。每个人都有自己的体重W_i(1<=W_i<=10,000)和力量S_i(1<=S_i<=1,000,000,000),每个人的危险系数定义为他所承受的重量(注意:不包括他自己)减去他的力量所得到的差,你的任务是找出使得N个人中最大的危险系数最小的顺序。

输入

第一行:输入一个整数N;

第2到第N+1行:其中第i+1行描述第i个人的体重和力量,中间用空格隔开。

输出

输出一个整数表示最优顺序中最大的危险系数。

样例输入

3
10 3
2 5
3 3

样例输出

2

数据范围限制

贪心,为了达到最优,应该使越下面的人的力量和体重尽可能大,所以以体重和力量的和为关键字排序,

然后直接求解就好了。

代码如下:

var a,b,c:array[1..50000]of longint; n,max:longint;procedure init;var i:longint;begin readln(n); for i:=1 to n do  begin   readln(a[i],b[i]);   c[i]:=a[i]+b[i];  end;end;procedure qsort(l,r:longint);var i,j,k,m:longint;begin if l>=r then exit; i:=l; j:=r; k:=c[(i+j) div 2]; repeat  while c[i]<k do inc(i);  while c[j]>k do dec(j);  if i<=j then   begin    m:=c[i]; c[i]:=c[j]; c[j]:=m;    m:=a[i]; a[i]:=a[j]; a[j]:=m;    m:=b[i]; b[i]:=b[j]; b[j]:=m;    inc(i); dec(j);   end;  until i>j; qsort(l,j); qsort(i,r);end;procedure main;var i,k,j:longint;begin k:=0; max:=-maxlongint; for i:=1 to n do  begin    if k-b[i]>max then max:=k-b[i];    k:=k+a[i];  end; write(max);end;begin assign(input,'acrobat.in');reset(input); assign(output,'acrobat.out');rewrite(output); init; qsort(1,n); main; close(input); close(output);end.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132054.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS7 yum 安装 maven「建议收藏」

    CentOS7 yum 安装 maven「建议收藏」CentOS-7yum安装mavenCentOS-7设置为阿里云yum源rm-rf/etc/yum.repos.d/*curl-o/etc/yum.repos.d/Centos-7.repohttp://mirrors.aliyun.com/repo/Centos-7.repocurl-o/etc/yum.repos.d/epel-7.repohttp://mirrors.aliyun.com/repo/epel-7.repo安装mavenyum-yinsta.

    2022年5月12日
  • 初笔,JAVA.HelloWorld代码详解「建议收藏」

    初笔,JAVA.HelloWorld代码详解「建议收藏」HelloWorld.java//文件名publicclassHelloWorld{  publicstaticvoidmain(String[]args){    System.out.println(“HelloWorld!!!”);}}详解:publicclassHelloWorld:class:翻译过来就叫:类,可以理解为是JAVA中一种文件的名字….

    2022年5月28日
  • String,StringBuffer与StringBuilder的区别

    String,StringBuffer与StringBuilder的区别一、JavaString类——String字符串常量字符串广泛应用 在Java编程中,在Java中字符串属于对象,Java提供了 String类来创建和操作字符串。需要注意的是,String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,这样不仅效率低下,而且大量浪费有限的内存空间。我们来看一下这张对String操作时内存变化的图:我们可…

    2022年6月28日
  • oracle查询结果替换指定字符串_oracle按字符截取

    oracle查询结果替换指定字符串_oracle按字符截取1、拼接字符串格式一:可以使用”||”来拼接字符串select’拼接’||’字符串’asstrfromdual格式二:通过concat()函数实现selectconcat(‘拼接’,’字符串’)asstrfromdual注:oracle的concat函数只支持两个参数的方法,即只能拼接两个参数,如要拼接多个参数则嵌套使用concat可实现,如:selectconcat(concat(‘拼接’,’多个’),’字符串’)fromdual2.1、截取字符串

    2022年9月19日
  • java对文件操作,删除文件,强制删除文件「建议收藏」

    java对文件操作,删除文件,强制删除文件「建议收藏」/** *删除文件夹(强制删除) * *@parampath */ publicstaticvoiddeleteAllFilesOfDir(Filepath){ if(null!=path){ if(!path.exists()) return; if(path.isFile()){ booleanresult=path.dele…

    2022年5月20日
  • c#程序调试(如何使用debug调试)

    c#的Debug.WriteLine()和Trace.WriteLine()有没有例子?1.区别://输出跟踪信息Trace.WriteLine()将有关跟踪的信息写入Listeners集合中的跟踪侦听器在调试和release模式都输出!默认是写到输出窗口的,也可以指定写到指定文件,或系统日志中!//输出调试信息Debug.WriteLine()将有关调试的信息写入Listener

    2022年4月17日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号