Распределение C++

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

Напишите программу, которая определяет минимальное количество переводов для перераспределения войск.

Входные данные

   Первая строка входного файла содержит целое число N (1 ≤ N ≤ 10000) – количество отрядов. Вторая строка содержит изначальное распределение воинов по отрядам – N чисел, каждое из которых определяет количество воинов в соответствующем отряде. А в третьей строке – требуемое распределение солдат. Количество солдат в одном отряде не превышает 106. Гарантируется, что общее число воинов в изначальном распределении и требуемом совпадает.

Выходные данные

   В выходной файл выведите минимально возможное количество переводов.

 

#include <iostream>
#include <vector>

using namespace std;

vector <long long int > a;
long long int n, tmp, delta = 0;

int main()
{
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin >> tmp; a.push_back(tmp);
    }
    for (int i = 0; i < n; i++)
    {
        cin >> tmp; delta += abs(tmp - a[i]);
    }
    cout << delta / 2 << endl;
}

Назад

Повышение продаж с помощью веб-форм Разложение числа на простые множители Как качественный контент способствует продвижению сайта Как выбрать хостинг Как писать SEO-тексты? Что такое SEO оптимизация сайта


Хостинг

Есть решение которого нет на сайте? Пиши admin@devexe.top