М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
azlidenp08oin
azlidenp08oin
18.10.2021 00:02 •  Информатика

Задача 4: Железная дорога Вите на день рождения подарили Очень Большую Игрушечную Железную Дорогу. Она представляет собой два параллельных пути, по которым движутся поезда во встречных направлениях. В центре находится станция, а железная дорога очень большая, поэтому можно считать пути бесконечными в обе стороны.

Витя расставил поезда на железной дороге и одновременно запустил их, включив электропитание. Все поезда движутся с одинаковыми скоростями в одном из двух возможных направлений. Но когда-нибудь поезда придётся остановить и убрать игру, а поскольку поезд не может развернуться и начать движение в противоположном направлении, Вите придётся самому собирать поезда руками и переносить их на станцию. Витя хочет выбрать такой момент остановки всех поездов, чтобы ему пришлось потратить минимальное число усилий для того, чтобы собрать после этого все поезда на станции вместе, то есть в этот момент времени сумма расстояний всех поездов до станции была бы минимальной.

Входные данные
Введём на железной дороге координаты, считая, что станция находится в начале координат, а все поезда первоначально находятся в целочисленных точках координатной прямой. Сами поезда также будем считать точками. За одну секунду координаты всех поездов изменяются на +1 или на −1. Поезда движутся с равными скоростями, первоначально никакие два поезда, движущиеся в одном направлении, не находятся в одной точке.

Первая строка входных данных содержит целое число N — количество поездов, движущихся в положительном направлении. Вторая строка входных данных содержит целое число M — количество поездов, движущихся в отрицательном направлении. Ограничения: N ≥ 0, M ≥ 0, 1 ≤ N + M ≤ 105.

Следующие N строк содержат N чисел ai (|ai| ≤ 109) — первоначальные координаты поездов, движущихся в положительном направлении. Все числа ai различны и заданы в порядке возрастания.

Следующие M строк содержат M чисел bj (|bj| ≤ 109) — первоначальные координаты поездов, движущихся в отрицательном направлении. Все числа bj различны и заданы в порядке возрастания.

Выходные данные
Программа должна вывести единственное целое число t — момент времени в секундах после запуска игры, в который суммарное расстояние всех поездов до станции будет минимальным. Если возможных правильных ответов несколько, то программа должна вывести любой из них. Если после старта игры суммарное расстояние всех поездов до станции будет всегда больше, чем в момент запуска игры, то правильным ответом будет t = 0.

Система оценивания
Решения, правильно работающие, когда N ≤ 100, |ai| ≤ 100, |bj| ≤ 100, будут оцениваться в

Решения, правильно работающие, когда N ≤ 100, |ai| ≤ 109, |bj| ≤ 109, будут оцениваться в

Пример
Ввод

Вывод

Пояснение

3
2
-5
-2
4
1
4

2

3 поезда движутся в положительном направлении, 2 поезда движутся в отрицательном направлении. Начальные координаты поездов, движущихся в положительном направлении равны −5, −2, 4, движущихся в отрицательном направлении равны 1 и 4. Запишем, что при t = 0 координаты поездов (−5, −2, 4, 1, 4). Суммарное расстояние всех поездов до станции равно 16. В момент t = 1 координаты поездов будут (−4, −1, 5, 0, 3), суммарное расстояние до станции равно 13. В момент t = 2 координаты поездов будут (−3, 0, 6, −1, 2), суммарное расстояние до станции равно 12. В момент t = 3 координаты будут (−2, 1, 7, −2, 1), суммарное расстояние до станции равно 13. ответ на этот тест t= 2
ПиТОН ХЕЛП

👇
Ответ:

#include <iostream>

#include <vector>

#include <algorithm>

#define ll long long int

#define vi vector<int>

#define va vector<vector<int>>

#define frr(i,n) for(int i=0;i<n;i++)

#define fir(n,i) for(int i=n-1;i>=0;i--)

using namespace std;

int main(int argc, char* argv[])

{

vi s, g, h, k;

int a, b, c, d, e = 0;

cin >> a >> b;

frr(i, a) {

 cin >> c;

 if (c < 0) s.push_back(abs(c));

 e++;

}

frr(i, b) {

 cin >> c;

 if (c > 0) s.push_back(abs(c));

 e++;

}

sort(s.begin(), s.end());

cout << s[(e / 2)-1];

 

}

Объяснение:

4,6(53 оценок)
Ответ:
sofiakobzeva
sofiakobzeva
18.10.2021

def run():

   a = int(input())

   b = int(input())

   trains = []

   for i in range(a + b):

       trains.append(int(input()))

   t = 0

   s = sum(i if i >= 0 else -i for i in trains)

   while True:

       for i in range(a):

           trains[i] += 1

       for i in range(b):

           trains[a + i] -= 1

       s1 = sum(i if i >= 0 else -i for i in trains)

       if s1 < s:

           s = s1

           t += 1

       else:

           return t

print(run())

Объяснение:

Язык Python, на

4,8(76 оценок)
Открыть все ответы
Ответ:
panda068
panda068
18.10.2021

1)

a = int(input("введіть 1 число: "))

b = int(input("введіть 2 число: "))

c = int(input("введіть 3 число: "))

d = int(input("введіть 4 число: "))

e = int(input("введіть 5 число: "))

f = int(input("введіть 6 число: "))

d = int(input("введіть 7 число: "))

q = int(input("введіть 8 число: "))

w = int(input("введіть 9 число: "))

z = int(input("введіть 10 число: "))

suma = [a,b,c,d,e,f,d,q,w,z]

print('сума введених чисел = ',sum(suma))

2)

s = 0

while true:

a = int(input("введіть число: "))

s += a

print("сума введених чисел: ",s)

if a == 0:

break

4,6(56 оценок)
Ответ:
Shkolaetopolniyad
Shkolaetopolniyad
18.10.2021
1)var n,k: integer; begin   write('число:   ');   readln(n);   k: =0;   repeat     k: =k*10+n mod 10;     n: =n div 10;   until n=0;   writeln('новое число:   ',k); end. 2) var n,k,m: integer; begin  write('двоичное число:   ');   readln(n);   k: =1;   m: =0;   repeat    m: =m+k*(n mod 10);     n: =n div 10;     k: =k*2;   until n=0;   writeln('десятичное число:   ',m); end.
4,7(81 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ