3399: [Usaco2009 Mar]Sand Castle城堡

Time Limit: 3 Sec  Memory Limit: 128 MB
Submit: 37  Solved: 32
[Submit][Status][Discuss]

Description

约翰用沙子建了一座城堡.正如所有城堡的城墙,这城墙也有许多枪眼,两个相邻枪眼中间那部分叫作“城齿”.    城墙上一共有N(1≤N≤25000)个城齿,每一个都有一个高度Mi.(1≤尬≤100000).现在约翰想把城齿的高度调成某种顺序下的Bi,B2,…,BN(I≤Bi≤100000). -个城齿每提高一个单位的高度,约翰需要X(I≤X≤100)元;每降低一个单位的高度,约翰需要Y(1≤y≤100)元.    问约翰最少可用多少钱达到目的.数据保证答案不超过2^32.

Input

 
    第1行输入3个整数N,X,Y.
    第2到N+1行每行输入两个整数Mi和Bi.

Output

 
    最少花费.

Sample Input

3 6 5
3 1
1 2
1 2

Sample Output

11

HINT

第1个城齿降低1,第2个城齿提高1

Source

Silver

题解:又是一道石(sang)破(xin)天(bing)惊(kuang)的贪心,原来就是排个序算下就好了= =(HansBug:越来越发现这类贪心题才最逗比有木有TT)

 /**************************************************************
Problem:
User: HansBug
Language: Pascal
Result: Accepted
Time: ms
Memory: kb
****************************************************************/ type
arr=array[..] of longint;
var
i,j,k,l,m,n:longint;
a,b:arr;ans:int64;
procedure swap(var x,y:longint);
var z:longint;
begin
z:=x;x:=y;y:=z;
end;
procedure sort(l,r:longint;var a:arr);
var i,j,x,y:longint;
begin
i:=l;j:=r;x:=a[(l+r) div ];
repeat
while a[i]<x do inc(i);
while a[j]>x do dec(j);
if i<=j then
begin
swap(a[i],a[j]);
inc(i);dec(j);
end;
until i>j;
if i<r then sort(i,r,a);
if l<j then sort(l,j,a);
end;
function cal(x,y:longint):int64;
begin
if y>=x then exit(int64(k)*int64(y-x)) else exit(int64(l)*int64(x-y));
end;
begin
readln(n,k,l);
for i:= to n do readln(a[i],b[i]);
sort(,n,a);sort(,n,b);
ans:=;
for i:= to n do inc(ans,cal(a[i],b[i]));
writeln(ans);
readln;
end.

3399: [Usaco2009 Mar]Sand Castle城堡的更多相关文章

  1. bzoj 3399: [Usaco2009 Mar]Sand Castle城堡

    3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MB Description 约翰用沙子建了一座城堡.正 ...

  2. 【BZOJ】3399: [Usaco2009 Mar]Sand Castle城堡(贪心)

    http://www.lydsy.com/JudgeOnline/problem.php?id=3399 贪心就是将两组排序,然后直接模拟即可.. 如果我们用a去匹配一个绝对值和它差不多的值,那么去匹 ...

  3. BZOJ 3399 [Usaco2009 Mar]Sand Castle城堡:贪心【最小匹配代价】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3399 题意: 给你一个数列a,和一个可变换顺序的序列b(数列长度≤25000). a增加一 ...

  4. BZOJ 3399 [Usaco2009 Mar]Sand Castle城堡(贪心)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3399 [题目大意] 将一个集合调整成另一个集合中的数,把一个数+1需要消耗x,-1需要 ...

  5. BZOJ3399: [Usaco2009 Mar]Sand Castle城堡

    3399: [Usaco2009 Mar]Sand Castle城堡 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 22  Solved: 17[Sub ...

  6. BZOJ3401: [Usaco2009 Mar]Look Up 仰望

    3401: [Usaco2009 Mar]Look Up 仰望 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 87  Solved: 58[Submit ...

  7. BZOJ3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队

    3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 89  Solve ...

  8. BZOJ 3401: [Usaco2009 Mar]Look Up 仰望( 单调栈 )

    n <= 105 , 其实是10 ^ 5 ....坑...我一开始写了个模拟结果就 RE 了.. 发现这个后写了个单调栈就 A 了... ---------------------------- ...

  9. 3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队

    3400: [Usaco2009 Mar]Cow Frisbee Team 奶牛沙盘队 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 129  Solv ...

随机推荐

  1. HDU-1275-两车追及或相遇问题(数学题目)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1275 这题是一个数学题目,知道两个公式那就好办了: 对头相遇时:time*(v1+v2)=d*(2*i ...

  2. sublime 3 build结果关闭打开

    Tools > Build Results > Show Build Results

  3. 搭建Minisipserve服务器实现局域网内IOS客户端idoubs的通信

    idoubs是IOS设备开发的第一款全功能并开放源码的3GPP IMS客户端,它同时专为IOS平台开发设计的voIP测试版客户端,以doubango为框架,能实现当前最先进的多媒体功能,主要功能有:语 ...

  4. js实现数组去重并且显示重复的元素和索引值

    var arr=["a","b","c","d","c","b","d ...

  5. Linux下JDK安装

    最近在学习linux,倒腾了半天.终于把jdk安装好了,写篇博客记录下来,关键是jdk环境变量的配置和保存了 我用的SecureCRT连接linux,然后再在SecureCRT上敲命令,关于Secur ...

  6. Kafka 0.10 KafkaConsumer流程简述

    ConsumerConfig.scala 储存Consumer的配置 按照我的理解,0.10的Kafka没有专门的SimpleConsumer,仍然是沿用0.8版本的. 1.从poll开始 消费的规则 ...

  7. 关于js 构造 onclick 方法中传递Guid参数问题

    转义字符单双引号用法:\'  与 \" 例如: $.getJSON("data.json", function(data, status, xhr) { $(" ...

  8. 用VUEJS做一个网易云音乐

    前言:自己学习VUEJS也一段时间,但一直没有做出来一东西.我自己一直喜欢用网易云音乐app,于是乎就做了这个app. 项目截图 技术栈 vue全家桶 (vue vue-router vuex) ax ...

  9. Array方法归类总结

    数组的转换方法 valueOf()方法,数组调用该方法后返回的还是原来的数组. toString()方法,数组调用该方法后会调用每一项的toStirng()方法,之后将每一项拼接成一个以逗号分割的字符 ...

  10. Java三大修饰符

    1.static 修饰: 修饰属性:类变量,全类共有 修饰方法:静态方法,静态方法中不能直接访问非静态的方法和属性 静态方法只能被静态方法覆盖,并且没有多态 静态的方法或者属性不依赖于对象:类名.方法 ...