|
|
Problem E: The Bus Driver Problem |
|
Input: standard input Output: standard output |
|
|
|
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
|
|
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
|
|
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
|
|
Sample Input |
Output for Sample Input |
2 20 5 10 15 10 15 2 20 5 10 10 10 10 0 0 0 题目很简单看代码就应该知道是什么意思了!!!!!
#include <stdio.h> #include <math.h> #include <algorithm> #include <string.h> #include <stdlib.h> using namespace std; int mlen[110]; int alen[110]; int main() { int n,d,r; while(scanf("%d%d%d",&n,&d,&r)==3) { if(n==0&&d==0&&r==0) break; int i ; int sum=0; for(i = 0;i<n;++i) scanf("%d",&mlen[i]); for(i = 0;i<n;++i) scanf("%d",&alen[i]); sort(mlen,mlen+n); sort(alen,alen+n); for(i = 0;i<n;++i) if(mlen[i]+alen[n-1-i]>d) sum+=mlen[i]+alen[n-1-i]-d; printf("%d\n",sum*r); } return 0; } |
50 0 |