[PYTHON] Wettbewerbsprogrammierung ist was (Bonus)

Dieser Artikel ist ein zusätzlicher Artikel von Competition Programming is What.

Wenn Sie es implementieren, handelt es sich um einen Artikel mit dem Quellcode von.

Um es Menschen zu erleichtern, die keine Python sind Es gibt einige Teile, in denen der Code redundant ist (für Wettkampfprofis), aber bitte verzeihen Sie mir.

Einfache Lösung

# coding: utf-8
#Zauber für Python, der die Standardeingabe beschleunigt
import sys
input = sys.stdin.readline

#Holen Sie sich beim Konvertieren von Standardeingaben numerisch
N = int(input())
#Erhalten Sie Standardeingaben, während Sie Array- und Zahlenwerte konvertieren
H = [int(x) for x in input().split()]

#Berechnen Sie die maximale bewegliche Entfernung, wenn Sie auf jedem Feld landen
#Definition von Variablen zum Speichern der beweglichen Distanz
ans = []

#Verschieben Sie die Startposition von Anfang an
for i in range(N):
    count = 0
    #Überprüfen Sie, wie viel Sie von der Startposition bewegen können
    for j in range(i,N-1):
        if H[j] >= H[j+1]:
            #Wenn Sie sich bewegen können, erhöhen Sie die Entfernung, die Sie bewegen können
            count += 1
        else:
            #Ende, wenn nicht beweglich
            break
    #Zur Liste der beweglichen Entfernungen hinzufügen
    ans.append(count)

#Antworten anzeigen
print(max(ans))

Optimale Lösung

# coding: utf-8
#Zauber für Python, der die Standardeingabe beschleunigt
import sys
input = sys.stdin.readline

#Holen Sie sich beim Konvertieren von Standardeingaben numerisch
N = int(input())
#Erhalten Sie Standardeingaben, während Sie Array- und Zahlenwerte konvertieren
H = [int(x) for x in input().split()]
#So weit zusammen

#Verarbeitungsähnliche Variablendefinition
max_count = 0
tmp_count = 0

#Von Anfang an beginnen
for i in range(N-1):
    if H[i] >= H[i+1]:
        #Erhöhen Sie die Entfernungszahl, wenn Sie sich bewegen können
        tmp_count += 1
    else:
        #Wenn es nicht möglich ist, sich zu bewegen, die Entfernung, die bis zu diesem Punkt bewegt werden kann
        #Vergleichen Sie die aktuelle maximale Fahrstrecke
        if tmp_count > max_count:
            #Da der bewegliche Abstand diesmal größer ist, werde ich ihn aktualisieren
            max_count = tmp_count
        #Setzen Sie die aktuell zurückgelegte Strecke zurück
        tmp_count = 0

#Das Schleifenende ist N.-Da es 1 ist, wenn Sie sich von einem bestimmten Punkt zum rechten Ende bewegen können,
#Weil die zurückgelegte Strecke nicht mit der maximal zurückgelegten Strecke verglichen wurde
#Verwenden Sie max und verwenden Sie den größeren Wert als Antwort
print(max(max_count,tmp_count))

Recommended Posts

Wettbewerbsprogrammierung ist was (Bonus)
Was ist ein Namespace?
Was ist copy.copy ()
Was ist Django? .. ..
Was ist dotenv?
Was ist POSIX?
Was für eine Programmiersprache ist Python?
Was ist klass?
Was ist SALOME?
Was ist Linux?
Was ist Python?
Was ist Hyperopt?
Was ist Linux?
Was ist Pyvenv?
Was ist __call__?
Was ist Linux?
Was ist Python?
Was ist "funktionale Programmierung" und "objektorientiert"? Python Edition
Was ist eine Distribution?
Was ist Piotroskis F-Score?
Was ist Raspberry Pi?
[Python] Was ist Pipeline ...
Was ist das Calmar-Verhältnis?
Was ist ein Terminal?
[PyTorch Tutorial ①] Was ist PyTorch?
Was ist Hyperparameter-Tuning?
Was ist ein Hacker?
Was ist JSON? .. [Hinweis]
Wettbewerbsfähige Programmierung mit Python
Wofür ist Linux?
Was ist ein Zeiger?
Was ist Ensemble-Lernen?
Was ist TCP / IP?
Was ist Pythons __init__.py?
Was ist ein Iterator?
Was ist UNIT-V Linux?
[Python] Was ist virtualenv?
Was ist maschinelles Lernen?
Was ist Mini Sam oder Mini Max?
Was ist eine logistische Regressionsanalyse?
Was ist die Aktivierungsfunktion?
Was ist eine Instanzvariable?
Was ist ein Entscheidungsbaum?
Was ist ein Kontextwechsel?
Was ist Google Cloud Dataflow?
[DL] Was ist Gewichtsverlust?
[Python] Python und Sicherheit - is Was ist Python?
Was ist ein Superuser?
[Python] * args ** Was ist kwrgs?
Was ist ein Systemaufruf?
[Definition] Was ist ein Framework?
Was ist die Schnittstelle für ...
Was ist Project Euler 3-Beschleunigung?