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

Определить минимальное количество монет, которое должно находиться в автомате, чтобы всем хватило сдачи - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Почему на консоль выводится "1" и дальше ничего не происходит? (цикл while) http://www.cyberforum.ru/cpp-beginners/thread1650323.html
Вот код: #include <iostream> #include <Windows.h> #include <conio.h> using namespace std; int main() { int i = 0; while (true) { cout << ++i; Sleep(500);
C++ Запись и чтение вектора из файла Здравствуйте! Вот небольшая прога которая пишет в вектор структуру... при повторном запуске она читает с файла в вектор и по идее можно еще добавлять записи.. но при повторном запуске если попытаться добавить не работает. #include "stdafx.h" struct Administrator { std::string login_admin; std::string pass_admin; }; int main() http://www.cyberforum.ru/cpp-beginners/thread1650293.html
C++ Имеется код программы, который нужно разбить на функции ввода и вывода.
Я тут немного заплутала и сбилась с созданием функции. Имеется код полной программы, который мне нужно разбить на функции ввода и вывода. Как это сделать? #include <iostream> #include <string> using namespace std; struct STUDENT // структура STUDENT { string name; int group; float ses;
C++ CUDA: сложение двумерных массивов
Я новичок, как в CUDA, так и в С++. Задача - сложить два одинаковых массива, число строк и столбцов задается с клавиатуры. Я чувствую, что упустил какую-то крайне важную деталь - а то и больше - но никак не могу понять, что конкретно... Проблема в том, что сложение попросту не происходит... Пожалуйста, ткните тигроволка носом в ошибку, и, если можно, объясните, почему так и с чем это...
C++ Разница начального и конечного значений переменной http://www.cyberforum.ru/cpp-beginners/thread1650215.html
Подскажите пожалуйста возможно ли решить такую проблему, имеется переменная "L", значение переменной присваивается математически вычислениями микроконтроллера, нужно сохранить первое значение в в переменную при помощи которой можно будет вывести дельту начального значения и значения на данный момент T = fabs(L1) - fabs(L);
C++ Как из своей программы подставить пароль в форму в браузере? Пишу манагер паролей. Есть вопрос по автозаполнению форм: все пароли будут храниться в БД, данные из БД будет читать моя софтина. Как из этой софтины подставить пароль в форму в браузере? Вижу два варианта (первый сложный в реализации, второй в плане проектирования): 1 - инжектить код в браузер и там как-то это делать; 2 - писать расширение для браузера. Во втором случае не совсем понятно как... подробнее

Показать сообщение отдельно
Prolamer
0 / 0 / 0
Регистрация: 24.01.2016
Сообщений: 16
29.01.2016, 10:29     Определить минимальное количество монет, которое должно находиться в автомате, чтобы всем хватило сдачи
Здравствуйте.
Не первый раз создаю тему об олимпиадных задачах , думаю, и не последнюю))
Возникла проблема со следующей задачей:

Фирма bookface, созданная в Ужляндии, в которой работает Степан, решила установить в своих офисах автоматы по продаже чая и кофе, чтобы программисты во время перерыва могли с толком провести время.
Стоимость стакана чая и кофе в автомате предполагается установить равной пяти ужикам (такая в Ужляндии валюта). Автоматы будут принимать монеты по 5 и 10 ужиков, а также купюры в 10, 50 и 100 ужиков. Когда программисту нужно выдавать сдачу (т.е. когда программист бросил в автомат монету в 10 ужиков, или купюру в 10, 50 или 100 ужиков), автомат выдает сдачу монетами в пять ужиков; если же пассажир бросил в автомат монету в пять ужиков, то автомат ее сохраняет и может использовать для сдачи следующим программистам.
Очевидно, что, чтобы обеспечить возможность выдачи сдачи всем программистам, может потребоваться сначала загрузить в автомат некоторое количество монет в пять ужиков. Сейчас в офисах фирмы проходят испытания с целью определить минимальное количество монет, которые надо загрузить в автомат перед рабочим днем.
Вам дано протокол одного из таких испытаний: известный порядок, в котором программисты оплачивали свои покупки различными монетами и купюрами. Определите, какое минимальное количество монет в пять ужиков, должно было сначала находиться в автомате, чтобы всем пассажирам хватило сдачи.

Входные данные:
В первой строке входного файла находится одно натуральное число N - количество покупок в автомате, которые были осуществлены в ходе испытания (1 ≤ N ≤ 50000). Во второй строке находятся N натуральных чисел, каждое из которых равно номинала монеты или купюры, которую использовал очередной программист для оплаты; каждый номинал может принимать одно из четырех значений: 5, 10, 50 или 100.

Исходные данные:
В выходной файл выведите одно число - минимальное количество монет в пять Ужик, которые надо было загрузить в автомат сначала, чтобы всем программистам хватило сдачи.

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


мой код:
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
#include <iostream>
#include <fstream>
using namespace std;
int main(){
    int five = 0;
    int k0 = 0;
    int otv;
    int n;
    ifstream fin("testing.in");
    fin >> n;
    int arr[n];
    for(int i = 0; i < n; i++){
        fin >> arr[i+1];
    }
    for(int i = 1; i <= n; i++){
        if(arr[i]==5){
            five++;
        }
 
        otv = five - (arr[i] / 5 -1);
        if(otv < 0){
            k0 += -otv;
        }
 
    }
    ofstream fout("testing.out");
    fout << k0;
    return 0;
}
проблема заключается в том, что этот код проходит не все тесты(скрин прилагется)
объясните , пожалуйста, в чём может быть проблема?
спасибо за внимание
Миниатюры
Определить минимальное количество монет, которое должно находиться в автомате, чтобы всем хватило сдачи  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru