arteevdimon
?>

Можете перевести с C++ на python?#include const int N=1E5;int a[N], p[N], s[N];int main() { int n, k, i, j; std::cin >> n >> k; for (i=0, j=0; i std::cin >> a[i]; if (a[i] > a[j]) {p[i] = i; j = i;} else p[i] = p[j]; } for (i=n-1, j=n-1; i>=0; i--) { if (a[i] >= a[j]) {s[i] = i; j = i;} else s[i] = s[j]; } int m = 0, l = 0, r = k+1; for (i=l, j=r; j int t = a[p[i]] + a[s[j]]; if (t > m) {l = p[i]; r = s[j]; m = t;} } std::cout << (l+1) << " " << (r+1);}

Информатика

Ответы

irinaastapova2011

В задании исходный код программы введен немного неправильно, поэтому я решил его загуглить и нашел во с идентичными кодом без ответа. Код, вроде, рабочий, но я его серьезно не тестировал.

N = 1E5

a, p, s = [], [], []

def main():

       n = k = i = j = 0

       (n, k) = (int(input()), int(input()))

       p = [0] * n

       s = [0] * n

       for i in range(0, n):

               a.append(int(input()))

               if a[i] > a[j]:

                       p[i] = i

                       j = i

               else:

                       p[i] = p[j]

       

       j = n - 1

       for i in range(n - 1, -1, -1):

               if (a[i] >= a[j]):

                       s[i] = i

                       j = i

               else:

                       s[i] = s[j]

       

       m, l, r = 0, 0, k + 1

       i = l

       for j in range(r, n):

               t = a[p[i]] + a[s[j]]

               if t > m:

                       l = p[i]

                       r = s[j]

                       m = t

               i += 1;

       print(str(l + 1) + " " + str(r + 1))

if __name__ == "__main__":

       main()

Golovinskii_Sirotkina1944

хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз хз

lelikrom2202
Считаем на сколько изменятся координаты после выполнения всех команд.

1. Нет команды "конец". Если команда "повторить" относится ко всем трем командам, то получаем: x+3(-2+3+4)=x+15, y+3(-3+2+0)=y-3. Как видим, такой команды (15,-3) в ответах нет. Может быть, в условии опечатка и последняя команда должна быть не (4,0), а (-4,0). Тогда получится 
x+3(-2+3-4)=x-9, y+3(-3+2+0)=y-3. Команда (-9,-3). Это ответ под номером 1.

2. x+3(1-2)+4=x+1, y+3(3-5)+8=y+2. Чтобы вернуться, нужна команда (-1,-2). ответ под номером 1.

3. x+2(2+5+1)=x+16, y+2(1-4+4)=y+2. Чтобы вернуться, нужна команда (-16,-2). Такого ответа опять нет. Надо проверить условие.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Можете перевести с C++ на python?#include const int N=1E5;int a[N], p[N], s[N];int main() { int n, k, i, j; std::cin >> n >> k; for (i=0, j=0; i std::cin >> a[i]; if (a[i] > a[j]) {p[i] = i; j = i;} else p[i] = p[j]; } for (i=n-1, j=n-1; i>=0; i--) { if (a[i] >= a[j]) {s[i] = i; j = i;} else s[i] = s[j]; } int m = 0, l = 0, r = k+1; for (i=l, j=r; j int t = a[p[i]] + a[s[j]]; if (t > m) {l = p[i]; r = s[j]; m = t;} } std::cout << (l+1) << " " << (r+1);}
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

asker45967
aniramix
maxchuev
natabodrikova
elenabarskova7145
Sofinskaya1185
zotovinbox468
Исмагилова_Саният
necit12
arturcristian
Yelena_Gennadevna
neganovaarxi
gusrva3001
gullieta
РубенШафетдинов