16 / 16 / 8
Регистрация: 25.04.2014
Сообщений: 68
|
|
1 | |
Олимпиадная задачка08.01.2015, 15:20. Показов 472. Ответов 0
Метки нет (Все метки)
Кликните здесь для просмотра всего текста
E. Упражнения Степана Time limit: 1000 ms Memory limit: 128 M Степан решил достичь успеха не только в программирование, но и в спорте. К сожалению, он очень дано не тренировался, поэтому придется начинать всё с нуля. Придумать упражнения для тренировок, оказалось не просто, поэтому Степан решил поискать их в интернете. Он нашел сайт на котором предлагается несколько серий тренировочных упражнений. Каждая серия занимает N дней. В каждый из этих N дней предлагается делать одно «упражнение дня», а также к нему предлагаются рекомендации в виде «Ai - Bi». Это означает что для повышения уровня сил нужно выполнить упражнение от Ai до Bi раз. Если не выполнять это условия то это будет вредить, по этому Степан будет делать только от Ai до Bi , или вовсе не делать это упражнение. Почитав описание упражнений, Степан понял, этот курс не рассчитан на новичков, но решил не сдаваться и подстроить этот курс под себя. Он знает, что при изучение i-го упражнения ему придется потерять Кі уровней силы и при этом за выполнение упражнения Х раз, его уровень вырастет на Fi*X. Степан не может выполнить упражнение, если его текущий запас сил <Ki. В те дни, когда Степану не хватает сил или времени на тренировку он пропустит его, и уровень сил останется без изменений. Зная свои возможности, Степан понимает, если он в какой то день выполнит упражнение больше Т раз, то следующие D дней он будет истощен и ему будет не до спорта. Если Степан выполнит упражнение больше Т раз в какой-то из последних Т дней серий тренировок, он начнет отдыхать на следующий день, а закончит уже после конца серии. Степан хочет набрать максимум пользы от занятий, поэтому он планирует потратить на них N дней! Для каждой серии тренировок помогите ему узнать максимальный уровень силы, который он сможет достичь в конце тренировок. До начала тренировок запас сил Степана равен 0. Вход: Первый рядок N (1 ≤ N ≤ 10^5) количество дней тренировок. Второй – два целых числа T, D (1 ≤ T ≤ 10^6, 1 ≤ D ≤ 10^5), если в какой-то день Степан выполнит упражнение больше Т раз то будет отдыхать следующие D дней. Следующие N рядков описывают упражнения, i+2-ый рядок содержит описание упражнение в день i. Каждое упражнение описывается числами Ai, Bi, Ki, Fi, (0 ≤ Ki ≤ 10^9, 1 ≤ Ai ≤ Bi ≤ 10^6, 1 ≤ Fi ≤ 10^6), разделенными одиночными пробелами, где Ai, Bi соответсвенно рекомендуемый минимум и максимум количество выполнение упражнения. Ki- количество уровней сил которые будут потрачены на упражнение, Fi- количество уровней сил, полученных за каждый раз выполнения упражнения. Выход: Первый рядок который идет на выход содержит одно целое число S – максимальный уровень силы, который Степан может достичь до конца тренировок. Следующий рядок должен содержать N целых чисел Xi - количество раз выполнения упражнения в день і, если в день он отдыхал в і-ый, то вывести 0. exercises.in 5 4 1 3 5 0 10 6 8 10 100 2 8 10 15 5 6 0 8 2 2 1 7 exercises.out 878 4 8 0 6 0 Вообщем мучаюсь над задачкой уже 3 день в голову ниче не приходит. Верю, что кто-то поможет, Добра всеем:3
0
|
08.01.2015, 15:20 | |
Ответы с готовыми решениями:
0
Олимпиадная задачка Олимпиадная задачка (B-lvl) Олимпиадная задачка про Роботов олимпиадная задачка про брак на заводе |
08.01.2015, 15:20 | |
08.01.2015, 15:20 | |
Помогаю со студенческими работами здесь
1
Олимпиадная задачка на графы "Юный поджигатель" "Олимпиадная задачка" Олимпиадная задача Олимпиадная задача Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |