2015-12-10 9 views
0

Я получаю правильный ответ на свой компилятор, но получаю ошибку времени выполнения на ранжирование хакера. Решение проблемы с запасом увеличивает проблему. Я новичок в Python, поэтому я имею трудность в удалении error.Inputs имеют такой видОшибка времени выполнения для запаса maximize ... hackerrank

1  //no of test cases 
3  //no of stocks 
5 2 3 //cost of stocks 

Я думаю, что ошибка в принятии вход в 5 3 2 (непрерывный). Если я принимаю как

5 
3 
2 

(по одному на каждую строку), тогда он отлично работает. Как я могу исправить эту проблему?

t=int(input()) 
list=[] 
while t>0: 

    n=int(input()) 

    list.clear() 
    for i in range(0,n): 
     list.append(int(input())) 
    sum=0 
    print('hello') 
    max=list[n-1] 
    for i in range(n-2,-1,-1): 
     if(list[i]<max): 
      sum=sum+(max-list[i]) 
     else: 
      max=list[i] 
    print(sum) 

    t=t-1 

ответ

0

Вместо того, чтобы пытаться читать в три строки фондовых затрат, когда на самом деле только одна линия из трех разделенных пробелами расходы, вы должны прочитать в этой одной строке и разделить его в список целых чисел, для пример, как это (так как это выглядит, как вы используете Python 3):

stocks = list(map(int, input().split(" "))) 

с вашего примера, это даст вам список [5, 3, 2].

1

Вы можете прочитать // стоимость акций как и в Python3

stockcost=[int(k) for k in input().split()] 

Это создаст список цен на акции