Это олимпиада по икт.Студент Кеша устроился на летнюю стажировку. Кеша охотно

Это олимпиада по икт.

Студент Кеша устроился на летнюю стажировку. Кеша охотно бы прогуливался на работу
пешком,
но, к его сожалению, офис компании расположен довольно далеко от дома Кеши. А так как в
городке проводится спортивный праздник, публичный транспорт прогуливается очень редко, и желающих
ехать на нём очень много. Впрочем, Кеша уже давно присматривается к электросамокату, и желает
выяснить, много ли усилий ему придётся приложить, чтоб добраться на нём до места работы.
Кеша теснее провёл некие расчёты и узнал, что его маршрут содержит в себе ровненькие участ-
ки суммарной длиной p единиц, а также участки, на которых ему придётся подниматься в гору,
суммарной длиной m единиц. Участки, на которых Кеша будет двигаться под гору, он решил не
учитывать, так как электросамокат будет катиться на таких участках по инерции.
При движении по ровненькому участку аккумулятор самоката будет расходовать 1 единицу ёмкости,
а при движении в гору 2 единицы ёмкости на единицу длины. Если же Кеша не будет включать
электродвигатель, то для перемещения на каждой единице длины ровненького участка ему потребу-
ется приложить усилие величины a, а на каждой единице длины участка, водящего в гору, ему
будет нужно приложить усилие величины b (b gt; a).
Ёмкость аккума сочиняет q единиц. Кеша считает, что в различные деньки он может включать
электродвигатель на различных участках. И пока желает выяснить, какое максимальное и какое минималь-
ное количество усилий ему придётся приложить, чтоб добраться до работы, если по дороге он
полностью израсходует энергию, запасённую в аккуме.


Задать свой вопрос
1 ответ

Полагаю, это дубликат znanija.com/task/29739492, но без данных о входных/выходных данных. Тогда я продублирую решение на C.

using System;

using System.Linq;

namespace Samokat

   class Program

   

       static void Main(string[] args)

       

           var input = Console.In

               .ReadLine()

               .Split(',', ' ')

               .Where(t =gt; !String.IsNullOrEmpty(t))

               .Select(int.Parse)

               .ToList();

           int flatLen = input[0];

           int uphillLen = input[1];

           int flatDrain = input[2];

           int uphillDrain = input[3];

           int fuel = input[4];

           // minimizing flat travel

           int minFlatLen = flatLen - fuel;

           minFlatLen = minFlatLen lt; 0 ? 0 : minFlatLen;

           int maxUphillLen = uphillLen - (fuel - (flatLen - minFlatLen)) / 2;

           maxUphillLen = maxUphillLen lt; 0 ? 0 : maxUphillLen;

           // minimizing uphill travel

           int minUphillLen = uphillLen - (fuel) / 2;

           minUphillLen = minUphillLen lt; 0 ? 0 : minUphillLen;

           int maxFlatLen = flatLen - (fuel - (uphillLen - minUphillLen) * 2);

           maxFlatLen = maxFlatLen lt; 0 ? 0 : maxFlatLen;

           int minFlatTravelDrain = minFlatLen * flatDrain + maxUphillLen * uphillDrain;

           int maxFlatTravelDrain = maxFlatLen * flatDrain + minUphillLen * uphillDrain;

           var minDrain = Math.Min(minFlatTravelDrain, maxFlatTravelDrain);

           var maxDrain = Math.Max(minFlatTravelDrain, maxFlatTravelDrain);

           Console.Out.WriteLine(minDrain);

           Console.Out.WriteLine(maxDrain);

       

   

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт