Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2015, 12:54   #1
Вова123ф
Новичок
Джуниор
 
Регистрация: 31.01.2015
Сообщений: 1
По умолчанию Помогите с задачей срочно)

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

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

Примітка:
У першому прикладі одна монета в п'ять ужиків буде потрібна для здачі першому програмісту і 19 монет - третьому, але під час здачі третьому можна використовувати ту монету, яку кине другий програміст, тому спочатку у автоматі досить 19 монет.
У другому прикладі здачу третьому програмісту можна видати, використовуючи монету першого або другого покупця, і тому не потрібно завантажувати монети в автомат спочатку.
У третьому прикладі першоve програмісту потрібні дев'ять монет здачі, та всі вони повинні спочатку знаходиться в автоматі.
Входные данные в файле testing.in Результат в работы в файле
работы в файле testing.out

19
3
10 5 100
Вова123ф вне форума Ответить с цитированием
Старый 01.02.2015, 17:19   #2
Sushev
Пользователь
 
Регистрация: 14.12.2014
Сообщений: 13
По умолчанию

Это русскоязычный форум же.
Sushev вне форума Ответить с цитированием
Старый 01.02.2015, 19:00   #3
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Это русскоязычный форум же.
Если ты захочешь помочь - откроешь гугло переводчик.
Если студент захочет, чтобы ему помогли - откроет переводчик сам.
Этот студент не хочет помощи, т.е. можно проходить мимо без зазрения совести
rrrFer вне форума Ответить с цитированием
Старый 01.02.2015, 19:23   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ввод-вывод делай сам и можно спокойно без массива обойтись
Код:
const Coins: array [0..2] of Byte = (10,5,100);
var i,k0,k1: Longint;
...
  k0:=0; k1:=0;
  for i:=0 to High(Coins) do
    if Coins[i]=5 then Inc(k1)
    else begin
      Dec(k1,Coins[i] div 5 - 1);
      if k1<0 then begin Inc(k0,-k1); k1:=0; end;
    end;
  //результат в k0
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите СРОЧНО с задачей на графику! Fatality Помощь студентам 1 20.05.2009 22:50
Помогите плиз срочно с задачей Raptor5 Паскаль, Turbo Pascal, PascalABC.NET 13 27.01.2008 17:18