Есть ответ 👍

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

Требование максимальной компактности размещения предполагает, что все места должны иметь последовательную нумерацию, без пропусков (находиться в соседних купе). Незанятые компанией места (свободные или занятые другими пассажирами) могут оставаться не более, чем в одном купе.

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

Стандартная схема нумерации мест в 36-местном купейном вагоне предполагает наличие мест двух категорий: «нижние» (1, 3, 5, ..., 35) и «верхние» (2, 4, 6, ..., 36). Стоимость «нижнего» места всегда больше либо равна стоимости «верхнего» места. В вагоне всего девять купе, в каждом по четыре места (1..4, 5..8, и т.д.).

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

Входные данные
В первой строке через пробел записаны два неотрицательных целых числа, не превышающих 10000 – сначала стоимость «нижнего» места, затем стоимость «верхнего» места.

Во второй строке записаны два неотрицательных целых числа – численность компании N (1≤N≤36) и количество свободных мест в купейном вагоне S (0≤S≤36).

Если S>0, то в третьей строке через пробел записаны S чисел – номера всех свободных мест в вагоне в порядке возрастания.

Выходные данные
Вывести минимально возможную суммарную стоимость всех билетов для размещения всех студентов, отвечающего их требованиям.

В случае отсутствия возможности необходимого размещения, вывести «-1».

234
308
Посмотреть ответы 1

Ответы на вопрос:


Var a,b,c: integer; begin writeln('введите три числа'); readln(a,b,c); if (a< =b)and(b< =c) then write(a,' ',b,' ',c) else if (a< =c)and(c< =b) then write(a,' ',c,' ',b) else if (b< =a)and(a< =c) then write(b,' ',a,' ',c) else if (b< =c)and(c< =a) then write(b,' ',c,' ',a) else if (c< =a)and(a< =b) then write(c,' ',a,' ',b) else if (c< =b)and(b< =a) then write(c,' ',b,' ',a) end. var a,b,c,d: real; begin write('a = '); readln(a); write('b = '); readln(b); write('c = '); readln(c); d: =b*b-4*a*c; if d> =0 then     begin     writeln('x = '-sqrt(d))/(2*a));     writeln('x = '+sqrt(d))/(2*a));     end else writeln('действительных корней нет') end.

Популярно: Информатика