Что нужно добавить в код? Задача про такси

сама задача : После затянувшегося совещания директор фирмы решил заказать такси, чтобы развезти сотрудников по домам. Он заказал N машин — ровно столько, сколько у него сотрудников. Однако когда они подъехали, оказалось, что у каждого водителя такси свой тариф за 1 километр.

Директор знает, какому сотруднику сколько километров от работы до дома (к сожалению, все сотрудники живут в разных направлениях, поэтому нельзя отправить двух сотрудников на одной машине). Теперь директор хочет определить, какой из сотрудников на каком такси должен поехать домой, чтобы суммарные затраты на такси (а их несет фирма) были минимальны.

Формат ввода

Сначала во входном файле записано натуральное число N (1≤N≤1000) — количество сотрудников компании (совпадающее с количеством вызванных машин такси). Далее записано N чисел, задающих расстояния в километрах от работы до домов сотрудников компании (первое число — для первого сотрудника, второе — для второго и т.д.). Все расстояния — положительные целые числа, не превышающие 1000. Далее записано еще N чисел — тарифы за проезд одного километра в такси (первое число — в первой машине такси, второе — во второй и т.д.). Тарифы выражаются положительными целыми числами, не превышающими 10000.

Формат вывода

В выходной файл выведите N чисел. Первое число — номер такси, в которое должен сесть первый сотрудник, второе число — номер такси, в которое должен сесть второй и т.д., чтобы суммарные затраты на такси были минимальны. Если вариантов рассадки сотрудников, при которых затраты минимальны, несколько, выведите любой из них. Затем, в новой строке выведите одно целое число - наименьшую сумму, которую придётся заплатить за доставку сотрудников.

Как вывести сумму ,которую нужно будет заплатить -я понял, но как вывести кто в какое такси должен сесть- не понял. что нужно добавить в код?

Сам код:

C#Выделить код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace такси
{
    class Program
    {
        static void Main(string[] args)
        {
            int x;
            int sotrud = int.Parse(Console.ReadLine());
            int[] rast = new int[sotrud];
            string[] s = (Console.ReadLine()).Split(' ');
            for (int i = 0; i < sotrud; i++)
                rast[i] = int.Parse(s[i]);
            int[] tarif = new int[sotrud];
            string[] l = (Console.ReadLine()).Split(' ');
            for (int i = 0; i < sotrud; i++)
                tarif[i] = int.Parse(l[i]);
 
            
            for (int i = 1; i < sotrud; i++)
            {
                for (int j = 1; j < sotrud; j++)
                    if (rast[j] > rast[j - 1])
 
                    {
                        x = rast[j];
                        rast[j] = rast[j - 1];
                        rast[j - 1] = x;
                    }
            }
            for (int i = 1; i < sotrud; i++)
 
            { for (int j = 1; j < sotrud; j++)
                    if (tarif[j] < tarif[j - 1])
 
                    {
                        x = tarif[j];
                        tarif[j] = tarif[j - 1];
                        tarif[j - 1] = x;
                    }
            }
            x = 0;
            for (int i = 0; i < sotrud; i++)
            {
                x = x + rast[i]  tarif[i];
            }
            
            Console.WriteLine(x);
 
 
}
    }
}