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*
Комментарий*

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

yanva
zaha98
Zuriko1421
priemni451
Vladimir1172
Александр Елена1290
Информатика 8 класс. Програмир.
iivanov54
Lopatkin_Shchepak174
aleksvasin
vladislavk-market2
lele4kass
sdvigov
tarja4140
Timurr007
snip99