MadMuffinzOG Ответов: 3

Решите этот вопрос пожалуйста мои друзья


Поскольку Джейк получил раннее предложение от UOIT, его обрадованные родители дали ему много кубиков Рубика в качестве награды. Однако вскоре у него развился синдром запястного канала, и теперь ему приходится продавать некоторые из своих кубиков за половину их первоначальной цены, чтобы оплатить свои медицинские счета.
Джейк-очень уникальный человек; N кубиков, которые он получил, имеют различное значение Vi и расположены в прямой линии. Он хочет знать, есть ли у него в общей сложности по крайней мере M долларов после того, как он продаст все свои кубики включительно между тем, который оценивается в Va, и тем, который оценивается в Vb (в строке). Он специально хочет задать Q вопросов в форме (Va,Vb), чтобы узнать, достаточно ли у него денег после продажи всех кубов в этом диапазоне. Оба Куба гарантированно существуют в последовательности.
Примечание: может быть полезно использовать беззнаковые 64-битные переменные (например, unsigned long long в C++).

Ограничения
Подзадача 1 [10%]
• 1≤N, Q≤100
• 1≤M, V≤1000

Подзадача 2 [90%]
• 1≤N, Q≤100000
• 1≤M≤10000000
• 1≤V≤1000000

Входная Спецификация
Первая строка ввода будет состоять из 3 целых чисел через пробел N, M и Q. Следующая строка будет содержать N целых чисел, разделенных пробелами, где I-е целое число представляет значение Vith. Для следующих Q строк каждая строка будет содержать 2 целых числа Va и Vb, разделенных пробелами.

Выходная Спецификация
Для каждого вопроса выведите достаточно, если Джейк может позволить себе свои счета, или недостаточно, если он не может.

Пример Ввода

5 10 2
10 1 4 3 7
1 3
10 7

Пример Вывода

Недостаточно
Достаточно

Что я уже пробовал:

Я не специально ищу код, но мне интересно, может ли кто-нибудь объяснить, что именно задает этот вопрос. Я только начал кодировать около 48 часов назад и понял, что не очень понимаю формат вопросов, присутствующих на каком-то сайте.

Насколько я понимаю, у меня есть несколько кубов в строке, каждый с соответствующим значением V. Каждый куб (или vi, vi + 1, vi + 2 ... vi + n) имеет денежную ценность. В подмножествах VA в VB, которые могут достигать 100 (q <= 100), я добавляю их последовательно. Подэтап выдает значение (скажем) R. Затем я проверяю, чтобы значение R было больше M или меньше M. Если оно меньше R, я возвращаюсь к началу и пробую с другим подмножеством . Если значение R равно или больше M, то я устанавливаю счетчик на 1 и повторяю весь цикл до тех пор, пока значение счетчика не станет равным Q. Это то, что я понимаю, но не уверен, что это то, о чем он спрашивает. , может кто-нибудь помочь прояснить?

NotPolitcallyCorrect

Хорошо сделано.

MadMuffinzOG

на самом деле в этот момент просто хочу отправить мне код lol XD

3 Ответов

Рейтинг:
2

Patrice T

Мы не делаем вашу домашнюю работу.
Домашнее задание предназначено не для того, чтобы проверить ваши навыки просить других людей сделать вашу работу, оно предназначено для того, чтобы заставить вас думать и помочь вашему учителю проверить ваше понимание курсов, которые вы прошли, а также проблем, с которыми вы сталкиваетесь при их применении.
Любая ваша неудача поможет учителю выявить ваши слабости и наметить меры по их исправлению.
Итак, попробуйте, перечитайте свои уроки и приступайте к работе. Если вы застряли на конкретной проблеме, покажите свой код и объясните эту точную проблему, мы можем помочь.

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

[Обновление]

Цитата:
Я не специально ищу код, но мне интересно, может ли кто-нибудь объяснить, что именно задает этот вопрос. Я только начал кодировать около 48 часов назад и понял, что не очень понимаю формат вопросов, присутствующих на каком-то сайте.

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


Рейтинг:
2

Dave Kreskowiak

Нет, нет, нет. Мы здесь не для того, чтобы делать за вас домашнее задание.

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


Рейтинг:
0

CPallini

Для меня вопрос ясен: каждая строка запроса дает вам начальное значение Va и конечное значение Vb Вы должны найти и то, и другое Va и Vb в последовательности значений, а затем суммировать все значения между Va и Vb включенный. Если такая сумма больше или равна, M затем распечатывать 'достаточно- если, с другой стороны, сумма меньше, чем M затем распечатывать 'недостаточно'.