Accepted solution

UVA 11389 - The Bus Driver Problem

Open original problem
Source code

#include<iostream>

#include <algorithm>

using namespace std;

int main()

{

    int n, d, r;

    int h, m[500], a[500];

    int value;

    while ((cin>>n>>d>>r) , n || d || r)

    {

        value = 0;

        for (int i = 0; i < n; i++)

        {

            cin>>m[i];

        }

        sort(m, m+n);

        for (int i = 0; i < n; i++)

        {

           cin>>a[i];

        }

        sort(a, a + n, greater<int>());

        for (int i = 0; i < n; i++)

        {

            h = m[i] + a[i];

            if (h > d)

            {

              value += (h - d) * r;

            }

        }

        cout<<value<<endl;

    }

    return 0;

}
Join the discussion

Add your comment