Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
2 / 2 / 0
Регистрация: 04.11.2017
Сообщений: 58

Помогите Морфеусу узнать, сможет ли Нео убить ровно N агентов ударами левой и правой ноги

29.08.2019, 22:19. Показов 2889. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, всем задача след.:

Морфеус и Нео готовятся к очередной схватке с армией агентов. Морфеус отвечает за разработку
всей операции, а Нео проявляет свои способности избранного. А именно — Нео будет наносить удары
по агентам либо правой, либо левой ногой. Правой ногой он нейтрализует сразу 5 агентов, а левой —
всего 3. Всего на бой выйдут N агентов. Морфеус ценит свои кадры, поэтому хочет заранее знать,
сколько ударов каждой ногой нанесет Нео при условии, что каждой ногой он может сделать не более
R ударов, чтобы не устать, и не менее L ударов, потому что даже в матрице надо тренироваться.
Помогите Морфеусу узнать, сможет ли Нео убить ровно N агентов ударами левой и правой
ноги. Если план невыполним, то выведите −1. Иначе выведите количество ударов сначала правой,
потом левой ногой.
Если решений несколько, выведите то, где правая нога совершает наименьшее возможное число
ударов.

Формат входных данных
В первой строке дано единственное целое число 0 <= N <= 106 — число агентов.
Во второй строке даны два целых числа 0 <= L <= R <= 1018 — ограничения на число ударов
каждой из ног.

Формат выходных данных
Если решения нет, выведите единственное число −1 Иначе выведите два целых числа — число
ударов правой и левой ногой.


Примеры
ввод: 13 1 2
вывод: 2 1

ввод: 2 0 100
вывод: -1

ввод: 30 2 10
вывод: 3 5
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2019, 22:19
Ответы с готовыми решениями:

При нажатии левой клавиши "мыши" отразить курсор в левой половине экрана, а при нажатии правой - в правой
При нажатии левой клавиши &quot;мыши&quot; отразить курсор в левой половине экрана, а при нажатии правой - в правой, использовав в случае...

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

Рисунки с левой и с-правой сторону
Подскажите как сделать рисунок с левой стороны и с правой? я сделал но у меня криво отображается правая сторона ниже получается. ...

24
2 / 2 / 0
Регистрация: 04.11.2017
Сообщений: 58
31.08.2019, 20:52  [ТС]
Студворк — интернет-сервис помощи студентам
nalbe666, только до 8 задачи все правильно, а дальше уже нет(((

Добавлено через 58 минут
marat_miaki, nalbe666, след. код можно как - то оптимизировать?? просто он не проходит по временный шкале в 17 тесте
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include<iostream>
 
#include <vector>
 
 
 
int main() {
 
    using namespace std;
 
    std::ios_base::sync_with_stdio(false);
 
    std::cin.tie(nullptr);
 
    int a, b = 0, x = 0;
 
    int profit = 0;
 
    int lastProfit = 0;
 
    bool first = false;
 
    cin >> a;
 
    vector<int> massiv(a);
 
    for (int j = 0; j < a; ++j) {
 
        cin >> massiv[j];
 
    }
 
for (int k = 0; k < a-1; ++k) {
 
        int c = k+1;
 
        for (int i = k + 1;  i < a; ++i) {
 
            if(massiv[i]>= massiv[c]){
 
                c=i;
 
            }
 
        }
 
        profit = 100000 / massiv[k] * massiv[c] - 100000;
 
            if (profit > lastProfit) {
 
                    lastProfit = profit;
 
                    b = k;
 
                    x = c;
 
                    first = true;
 
                }
 
 
 
    }
 
    if (first) {
 
        cout << b + 1 << " " << x + 1;
 
    } else {
 
        cout << 0 << " " << 0;
 
    }
 
 
 
 
 
    return 0;
 
}
0
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
31.08.2019, 21:32
Лучший ответ Сообщение было отмечено Xait как решение

Решение

Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <algorithm>
 
int main()
{
    uint64_t n, l, r;
    std::cin >> n >> l >> r;
 
    if (n / 8 < l) {
        std::cout << -1;
        return 0;
    }
    n -= l * 8;
    int64_t ulk = std::min(n / 3, r - l);
    uint64_t urk = std::min((n - ulk * 3) / 5, r - l);
    switch (n - ulk * 3 - urk * 5)
    {
    case 1:
        ulk -= 3, urk += 2;
        break;
    case 2:
        ulk -= 1, urk += 1;
        break;
    case 3:
        ulk -= 4, urk += 3;
        break;
    case 4:
        ulk -= 2, urk += 2;
        break;
    default:
        break;
    }
 
    if (ulk >= 0 && urk <= r - l && ulk * 3 + urk * 5 == n) {
        std::cout << l + urk << ' ' << l + ulk;
    }
    else {
        std::cout << -1;
    }
 
    return 0;
}


Текст-то другой задачи напишите.
1
2 / 2 / 0
Регистрация: 04.11.2017
Сообщений: 58
31.08.2019, 22:56  [ТС]
nalbe666, Круто этот ответ совпал и работает спасибо вам огромное ща проявленную труд)))
0
31.08.2019, 23:02

Не по теме:

Ошибка действительно была тупая, не поменял + на - :)

0
2 / 2 / 0
Регистрация: 04.11.2017
Сообщений: 58
31.08.2019, 23:10  [ТС]
nalbe666, можете помочь с этой задачой?
Последнее дело Оушена поможем ограбить банк
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.08.2019, 23:10

ПравилА левой и правой руки
Помогите пожалуйста с правилами левой и правой руки со всеми тонкостями)) Постоянно путаю все. Объясните, если не трудно, что бы я раз и...

Отличие правой и левой свертки
Правую и левую свертку можно реализовать так: #!/usr/bin/racket #lang scheme (define (fold-right op initial sequence) ...

Код левой и правой кнопки мышки
Нужны коды кнопок мышки, в Keys не нашёл. Я использую следующий код для захвата кнопок: protected override bool ProcessCmdKey(ref...

Ввод текста в TEdit с правой стороны, а не с левой
Можнали сделать чтобы текст в редакторе Edit вводился не с левой части а с правой.

Работа с PopupMenu левой и правой кнопками мыши
В моем проекте требуется задать возможность менять пользователем названия осей координат (показаны зеленым цветом) с помощью всплывающего...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru