A. самокат имя входного файла: стандартный ввод имя выходного файла: стандартный вывод ограничение по времени: 1 секунда ограничение по памяти: 256 мегабайт студент кеша устроился на летнюю стажировку. кеша охотно бы ходил на работу пешком, но, к его сожалению, офис компании расположен довольно далеко от дома кеши. а поскольку в ,,ижелающих ехать на нём много. впрочем, кеша уже давно присматривается к электросамокату, и хочет выяснить, много ли усилий ему придётся приложить, чтобы добраться на нём до места работы. кеша уже провёл некоторые расчёты и выяснил, что его маршрут содержит в себе ровные участки суммарной длиной p единиц, а также участки, на которых ему придётся подниматься в гору, суммарной длиной m единиц. участки, на которых кеша будет двигаться под гору, он решил не учитывать, поскольку электросамокат будет катиться на таких участках по инерции. при движении по ровному участку аккумулятор самоката будет расходовать 1 единицу ёмкости, а при движении в гору — 2 единицы ёмкости на единицу длины. если же кеша не будет включать электродвигатель, то для перемещения на каждой единице длины ровного участка ему потребуется приложить усилие величины a, а на каждой единице длины участка, ведущего в гору, ему потребуется приложить усилие величины b (b > a). q единиц.кешаполагает, электродвигатель на разных участках. и пока хочет узнать, какое максимальное и какое минимальное количество усилий ему придётся приложить, чтобы добраться до работы, если по дороге он полностью израсходует энергию, запасённую в аккумуляторе. формат входных данных в первой строке содержатся целые числа p, m, a, b, q (0 ⩽ p, m ⩽ 109, 1 ⩽ a < b ⩽ 106,2 ⩽ q ⩽ 3·109), где p — суммарная длина ровных участков, m — суммарная длина участков, на которых нужно двигаться в гору, a — усилие, необходимое для перемещения на единицу длины при движении по ровному участку, b — усилие, необходимое для перемещения на единицу длины при движении в гору, q — ёмкость аккумулятора. гарантируется, что числа p и m не равны нулю одновременно; также гарантируется, что числа p и q — чётные. формат выходных данных выведите два целых числа — минимальное и максимальное количество усилий, которое кеша может потратить на дорогу, если при этом он полностью израсходует аккумулятор. разделяйте числа пробелом или переводом строки.
Решение на C#
using System;
using System.Linq;
namespace Samokat
{
class Program
{
static void Main(string[] args)
{
var input = Console.In
.ReadLine()
.Split(',', ' ')
.Where(t => !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 < 0 ? 0 : minFlatLen;
int maxUphillLen = uphillLen - (fuel - (flatLen - minFlatLen)) / 2;
maxUphillLen = maxUphillLen < 0 ? 0 : maxUphillLen;
// minimizing uphill travel
int minUphillLen = uphillLen - (fuel) / 2;
minUphillLen = minUphillLen < 0 ? 0 : minUphillLen;
int maxFlatLen = flatLen - (fuel - (uphillLen - minUphillLen) * 2);
maxFlatLen = maxFlatLen < 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);
}
}
}