2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Задача "Поворот на МЕГУ"
Сообщение09.01.2018, 15:15 
Здравствуйте!
Есть такая задача:
Светофор, установленный на повороте в торговый центр «МЕГА» с Новомосковского тракта, работает в таком режиме, что за одну минуту повернуть успевают k машин. По выходным, когда жители города едут закупаться продуктами и одеждой, перед этим поворотом вырастает огромная пробка. Администрация торгового центра дала указание повесить под строящимся неподалёку мостом камеру, подсчитывающую количество автомобилей, подъезжающих к этому повороту со стороны города. По информации, полученной с камеры за n минут, прошедших с начала наблюдений, определите количество машин, стоящих в пробке в настоящий момент времени.
Исходные данные:
В первой строке записаны целые числа k и n — количество машин, успевающих повернуть на «МЕГУ» в течение минуты, и количество минут, прошедших с начала наблюдений. Во второй строке через пробел записаны целые числа $a_1$, …, $a_n$ , где $a_i$ — количество машин, подъехавших к повороту со стороны города в течение i-й минуты. Можно считать, что наблюдения начинаются рано утром, когда машин, ожидающих на повороте, ещё нет.
Результат:
Выведите количество машин, стоящих в пробке на повороте через n минут после начала наблюдений.
Вышло такое решение:
код: [ скачать ] [ спрятать ]
Используется синтаксис Python
import sys
a=[]
for x in sys.stdin:
   for y in x.split():
      a.append(int(y))
n=0
for i in range(2, a[1]+2):
   if n<=a[0]:
      n=0
   else:
      n-=a[0]
   if a[i]>a[0]:
      n+=a[i]
if n<=a[0]:
   print(0)
else:
   print(n-a[0])

Но это решение не работает.
Где у меня ошибка?

 
 
 
 Re: Задача "Поворот на МЕГУ"
Сообщение09.01.2018, 15:31 
kotenok gav
Вы в неправильном порядке считаете количество оставшихся машин к исходу минуты, сначала пропускаете оставшихся, а потом добавляете новых. Надо наоборот, сначала добавить сколько приехало, потом вычесть сколько смогло уехать. Иначе, как у Вас, в первую минуту никто вообще не уезжает, лишь накапливаются, что в корне неверно.

-- 09.01.2018, 15:34 --

Ну и чисто для понятности, лучше бы переприсвоили a[0] и a[1] в обычные переменные и с ними и работали.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group