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