2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Задача "Поворот на МЕГУ"
Сообщение09.01.2018, 15:15 


21/05/16
4292
Аделаида
Здравствуйте!
Есть такая задача:
Светофор, установленный на повороте в торговый центр «МЕГА» с Новомосковского тракта, работает в таком режиме, что за одну минуту повернуть успевают 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 
Заслуженный участник


20/08/14
11805
Россия, Москва
kotenok gav
Вы в неправильном порядке считаете количество оставшихся машин к исходу минуты, сначала пропускаете оставшихся, а потом добавляете новых. Надо наоборот, сначала добавить сколько приехало, потом вычесть сколько смогло уехать. Иначе, как у Вас, в первую минуту никто вообще не уезжает, лишь накапливаются, что в корне неверно.

-- 09.01.2018, 15:34 --

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group