Завдання 1 туру 2018 PDF Друк e-mail
Написав Ковальчук Максим   
Неділя, 11 листопада 2018, 22:04

1 тур - з 11.11 по 19.11.2018

точка входу для відправлення розв'язків
http://134.249.159.199//cgi-bin/new-client?contest_id=62

(скачати)

Задача 1. (100 балів)

Обмеження по пам'яті: 64Мб

Обмеження по часу:

Ми в країні Ізічляндії, а це значить, що задачі будуть суперпрості.

У першій задачі нам задано рядок з букв англійського алфавіту довжини n. Серед них нам потрібно вибрати k букв так, що:

· Кожну з вибраних букв можна брати лише один раз

· Різниця між довільними двома вибраними буквами повинна бути більша одиниці, тобто не можна брати сусідні або рівні по алфавіту букви

· Серед всіх варіантів вибору, потрібно вибрати такий варіант, коли сума всіх букв (їх позицій в алфавіті) мінімальна

Нумерація букв починається з одиниці (a=1, b=2, ..., z=26). Букви можна вибирати в довільному порядку

Вхідні дані:

Перший рядок містить два числа n і k (1kn50) – довжина рядка і кількість букв, які потрібно вибрати.

Другий рядок містить рядок з малих літер англійського алфавіту довжини n.

Вихідні дані:

Виведіть одне число – суму всіх вибраних букв або -1, якщо вибрати k букв, описаним вище способом, неможливо.

Приклади:

Input.txt

Output.txt

1 1

a

1

7 4

problem

34

50 2

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab

-1

Задача 2. (100 балів)

Обмеження по пам'яті: 64Мб

Обмеження по часу:

В Ізічляндії все настільки просто, що навіть експерименти робляться уявно. Один з таких експериментів зробимо і ми.

Нам потрібно пролетіти n планет і повернутися на початкову. Літати ми будемо на ракеті. Маршрут буде виглядати наступним чином: виліт з 1 планети – посадка на 2 – виліт з 2 – ... – посадка на планету n – виліт з планети n – посадка на планету 1.

Маса ракети складається з двох частин, а саме власне маси ракети і маси палива. Також, кожна планета має два коефіцієнта, які показують, скільки тонн ракети можна підняти або опустити, використавши одну тонну палива. Наприклад, якщо коефіцієнт вильоту або посадки рівний 6, а маси ракети і палива рівні 3 і 9, то потрібно буде витратити 2 тони палива на посадку або виліт. Після кожної такої операції, використане пальне викидається, відповідно маса зменшується. В нашому випадку, загальна маса була 12, а стала 10.

Ви хочете на ізі пролетіти всі планети, тому вам потрібно мінімізувати кількість пального, яке потрібно взяти з самого початку. Зверніть увагу, що кількість пального може бути нецілим числом.

Вхідні дані:

Перший рядок містить одне число n(1n≤1000) – кількість планет.

Другий рядок містить одне число m (1≤m≤1000) – маса власне ракети.

Третій рядок місить n чисел  a1, a2, ..., an, (1ai≤1000) – маса, яку може підняти одна тонна палива на відповідній планеті.

Третій рядок місить n чисел  b1, b2, ..., bn, (1bi≤1000) – маса, яку може посадити одна тонна палива на відповідній планеті.

Вихідні дані:

Якщо пролетіти всі планети неможливо або для цього потрібно більше ніж 109 тонн палива, виведіть -1. Інкаше, виведіть мінімальну кількість палива, необхідну для польоту, заокруглену до трьох знаків після коми.

Приклади:

Input.txt

Output.txt

4

4

2 3 2 2

2 3 4 3

284.000

3

3

1 2 1

2 2 2

-1

6

4

8 7 3 7 10 6

5 3 3 17 5 11

47.133

3

3

7 11 17

19 31 33

1.601