IIUC ONLINE CONTEST 2008 / UVa 11389 The Bus Driver Problem:贪心

11389 - The Bus Driver Problem

Time limit: 1.000 seconds

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2384

In a city there are n bus drivers. Also there are n morning bus routes & n afternoon bus routes with various lengths. Each driver is assigned one morning route & one evening route. For any driver, if his total route length for a day exceeds d, he has to be paid overtime for every hour after the first d hours at a flat r taka / hour. Your task is to assign one morning route & one evening route to each bus driver so that the total overtime amount that the authority has to pay is minimized.

Input

The first line of each test case has three integers n, d and r, as described above. In the second line, there are n space separated integers which are the lengths of the morning routes given in meters. Similarly the third line has n space separated integers denoting the evening route lengths. The lengths are positive integers less than or equal to 10000. The end of input is denoted by a case with three 0 s.

Output

For each test case, print the minimum possible overtime amount that the authority must pay.

Constraints

-           1 ≤ n ≤ 100

-           1 ≤ d ≤ 10000

-           1 ≤ r ≤ 5

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/

Sample Input

2 20 5

10 15

10 15

2 20 5

10 10

10 10

0 0 0

Output for Sample Input

50

0

一增一减必然是最优的,可以通过交换两个元素的位置来反证。

完整代码:

/*0.016s*/

#include<cstdio>
#include<algorithm>
#include<functional>
using namespace std;  

int a[105], b[105];  

int main()
{
    int n, d, r, sum, temp;
    while (scanf("%d%d%d", &n, &d, &r), n)
    {
        for (int i = 0; i < n; ++i)
            scanf("%d", &a[i]);
        for (int i = 0; i < n; ++i)
            scanf("%d", &b[i]);
        sort(a, a + n);
        sort(b, b + n, greater<int>());
        sum = 0;
        for (int i = 0; i < n; ++i)
        {
            temp = a[i] + b[i] - d;
            if (temp > 0) sum += temp;
        }
        printf("%d\n", sum * r);
    }
    return 0;
}

作者:csdn synapse7

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索int
, include
, for
, 贪心
, d bus
, route
,   Sum Problem 
The
bus driver、busdriver、bus driver 1.5、bus driver 1.5下载、virtual bus driver,以便于您获取更多的相关知识。

时间: 2024-10-16 07:37:17

IIUC ONLINE CONTEST 2008 / UVa 11389 The Bus Driver Problem:贪心的相关文章

UVa 10026:Shoemaker&#039;s Problem

链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=113&page=show_problem&problem=967 类型: 贪心 原题: Shoemaker has N jobs (orders from customers) which he must make. Shoemaker can work on only one job in each day.

GCJ 2008 Round 1AA Minimum Scalar Product:贪心

http://code.google.com/codejam/contest/32016/dashboard Problem You are given two vectors v1=(x1,x2,...,xn) and v2=(y1,y2,...,yn). The scalar product of these vectors is a single number, calculated as x1y1+x2y2+...+xnyn. Suppose you are allowed to per

UVa 1267 Network:DFS&amp;amp;贪心

1267 - Network Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=456&page=show_problem&problem=3708 Consider a tree network with n nodes where the internal nodes correspond to servers a

UVa 11100 The Trip, 2007:贪心&amp;amp;一举两得的输出技巧

11100 - The Trip, 2007 Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=113&page=show_problem&problem=2041 A number of students are members of a club that travels annually to exotic lo

UVa 11507 Bender B. Rodríguez Problem:模拟&amp;amp;异或

11507 - Bender B. Rodríguez Problem Time limit: 4.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=2502 Bender is a robot built by Mom's Friendly Robot Company at its pl

UVa 729 The Hamming Distance Problem:全排列输出及小细节

729 - The Hamming Distance Problem Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=670 The Hamming distance between two strings of bits (binary integers) is the number of

uva 10245 - The Closest Pair Problem

点击打开链接uva 10245 题目意思:   给定N个点,找到所有点中距离最小的 解题思路: 1:递归+分治 <网上大牛的解释如下> 2在二维空间里,可用分治法求解最近点对问题.预处理:分别根据点的x轴和y轴坐标进行排序,得到X和Y,很显然此时X和Y中的点就是S中的点.            1情况(1):点数小于等于三时:                                  2情况(2):点数大于三时:            3首先划分集合S为SL和SR,使得SL中的每一个点

uva 100 The 3n+1 problem

题目链接: http://www.programming-challenges.com/pg.php?page=studenthome /* The 3n+1 problem 计算每个数的循环节长度,求给定区间的循环节长度的最大值. */ #include<iostream> #include<stdio.h> using namespace std; int jk(int n) { int num=1; while(n!=1) { if(n&1) n+=(n<<

UVA之11549 - Calculator Conundrum

[题目] Problem C CALCULATOR CONUNDRUM Alice got a hold of an old calculator that can display n digits. She was bored enough to come up with the following time waster. She enters a number k then repeatedly squares it until the result overflows. When the