Форум программистов, компьютерный форум CyberForum.ru

Задача о стульях - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вечный календарь http://www.cyberforum.ru/cpp-beginners/thread1643613.html
Привет, человеки. Я тут решаю задачу, которая проверяется автоматической системой. Вот задача: Сейчас мы используем Григорианский календарь. В високосном году 366 дней, а в не високосном — 365. Год является високосным, если его номер кратен 400 либо кратен 4, но не кратен 100. Например, 2004, 2080 и 2400 — високосные года. А 2001, 2081 и 1900 — не високосные. Ваша задача написать...
C++ Записать в бинарный файл массив объектов Student (бинарный файловый ввод/вывод) Здравствуйте. Стоит задача записать в бинарный файл массив объектов student: class student { string firstname,lastname, group; char year; bool sex; public: void setStudent(); bool getSex() { return sex; } friend ostream& operator<<(ostream &os, student &s); http://www.cyberforum.ru/cpp-beginners/thread1643557.html
C++ Рассчитать сумму ежемесячных выплат процентов по депозиту
Недавно начал изучать с++ и наткнулся на такую задачу: Рассчитать сумму ежемесячных выплат процентов по депозиту, если договор составлен на полгода под 6% годовых или на год под 8% годовых. С клавиатуры ввести сумму вклада и срок договора. Я тут начал, не знаю правильно ли #include <iostream>
Написать модульную программу расчета и печати оплаты за парковку C++
Здравствуйте! Изучаю функции...написал такой код на задачу, как его можно упростить за счет возможностей языка именно с помощью функцияй, никаких классов ничего. Ну как-бы не знаю на первых порах вот так написал, и он какой-то как дилетанство какое-то, понимаю я сам дилетант еще, что нужно учить и учить, но как можно еще его представить?...просто как подсказку дайте, даже ненадо его представлять...
C++ Найти произведение членов пифагорейского триплета, сумма которых равна заданному числу http://www.cyberforum.ru/cpp-beginners/thread1643531.html
Здравствуйте! Пожалуйста, помогите. Неизвестный автор пишет программу Специальный триплет Пифагорейский Пифагорейский триплет это набор трех чисел, a < b < c, для которых, a^2 + b^2 = c^2 Например, 3^2 + 4^2 = 9 + 16 = 25 = 5^2. Есть только один Пифагорейский триплет для которого a + b + c = 1000. Найти произведение abc #include <iostream> #include <math.h>
C++ Builder Проигрывать радио в программе онлайн Ув. форумчане, очень нужна ваша помощь, необходимо проигрывать радио в программе вот например по этой ссылке http://radio-online.com.ua/?listen=russkoe_radio_ua перехожу на страницу и ошибка сценария, ни один плеер не работает как быть? CppWebBrowser1->Navigate(StringToOleStr(Edit1->Text)); Заранее благодарен. Добавлено через 12 часов 55 минут Возможно есть другие варианты используя... подробнее

Показать сообщение отдельно
Fennec
1 / 1 / 0
Регистрация: 10.02.2010
Сообщений: 36
20.01.2016, 20:44     Задача о стульях
Итак, следуя хорошей манере создавать по теме на задачу, продолжим.

 Комментарий модератора 
П.5.18.Правил
Запрещено размещать задания и решения в виде картинок и других файлов с их текстом.


Вот сама задача:
«Где бы выгодно купить стулья, а потом выгодно их продать» — думал Остап после неудачной погони за 12 стульями.
Он решил подзаработать себе на билет до Рио продажей мебели. Прежде чем начать работу, он решил понаблюдать за происходящим и придумать, как побольше заработать.
Остап узнал, что в городе все продавцы продают только по одному стулу, и каждый покупатель готов купить не более одного. Всего он нашел N предложений, стоимость стула у i-го из продавцов равна Ai рублей, конечно, цены могут отличаться. Кроме того, он нашёл M потенциальных покупателей, каждый из которых может купить стул не дороже Bi рублей. При этом сам Остап может купить и продать любое количество товара.
Остап хочет получить наибольшую прибыль, поэтому он обратился за помощью к вам. Определите максимальную прибыль, которую он может получить.

Формат ввода:

Первая строка входных данных содержит два целых числа N, M (1 ≤ N, M ≤ 105) — количество предложений и количество потенциальных покупателей соответственно.

Вторая строка содержит N целых чисел Ai (0 ≤ Ai ≤ 109) цены, по которым продавцы готовы продавать стулья.

Третья строка содержит M целых чисел Bi (0 ≤ Bi ≤ 109) суммы, которые потенциальные покупатели готовы отдать при покупке стула.

Формат вывода:

Выведите одно целое число равное максимальной прибыли, которую Остап может получить.

Пример:

Ввод:
6 5
5 10 8 4 7 2
3 1 11 18 9

Вывод:
27
Вот мое решение:
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
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm> 
#include <functional>
 
using namespace std;
 
int main()
{
    ifstream input("input.txt");
 
    int sellersNumber = 0;
    int buyersNumber = 0;
 
    input >> sellersNumber;
    input >> buyersNumber;
 
    vector<int> sellPrices(sellersNumber);
    vector<int> buyPrices(buyersNumber);
 
    for (int i = 0; i < sellersNumber; i++)
    {
        input >> sellPrices[i];
    }
 
    for (int i = 0; i < buyersNumber; i++)
    {
        input >> buyPrices[i];
    }
 
    input.close();
 
    sort(sellPrices.begin(), sellPrices.end());
    sort(buyPrices.begin(), buyPrices.end(), std::greater<int>());
 
    int result = 0;
    int minRange = min(sellPrices.size(), buyPrices.size());
 
    for (int i = 0; i < minRange; i++)
    {
        int profit = buyPrices[i] - sellPrices[i];
        if (profit > 0)
        {
            result += profit;
        }
    }
 
    ofstream output("output.txt");
    output << result;
    output.close();
 
    return 0;
}
логика простецкая: мы не можем получить прибыль покупая дороже чем продаем. В системе проходит 19 тестов, после чего падает. Что я делаю не так?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru