ABC-Memorandum [ABC160 C - Reiseverkäufer um den See] (Python)

Problemstellung

Es gibt einen kreisförmigen See von $ K $ m pro Runde, um den sich $ N $ Häuser befinden. Das $ i $ te Haus befindet sich $ A_i $ Meter im Uhrzeigersinn vom nördlichen Ende des Sees entfernt. Sie können sich nur zwischen Häusern entlang des Seeumfangs bewegen. Finden Sie die kürzeste Reisedistanz, um alle N Häuser ab einem der Häuser zu besuchen.

Zwang

2≤K≤10^6 2≤N≤2×10^5 0≤A_1<... Alle eingegebenen Werte sind Ganzzahlen.

C - Traveling Salesman around Lake

Lösung

Da davon ausgegangen werden kann, dass die Häuser am Umfang aufgereiht sind, sollte der Abstand zwischen benachbarten Häusern berechnet und die Summe der Häuser ohne das kleinste genommen werden.

K, N = map(int,input().split()) 
A = list(map(int, input().split()))
 
li = []
for i in range(N - 1):
  li.append(A[i + 1] - A[i]) #Addiere den Unterschied zwischen den Elementen von Array A zu li
  
li.append(abs(A[0] + (K - A[-1]))) #Fügen Sie nur den ersten und den letzten Term der Sequenz separat hinzu
print(sum(li) - max(li))

Recommended Posts

ABC-Memorandum [ABC160 C - Reiseverkäufer um den See] (Python)
ABC-Memorandum [ABC163 C --managementr] (Python)
ABC-Memorandum [ABC159 C - Maximales Volumen] (Python)
ABC-Memorandum [ABC161 C - Integer ersetzen] (Python)
ABC-Memorandum [ABC158 C - Steuererhöhung] (Python)
ABC-Memorandum [ABC157 C - Errate die Zahl] (Python)
ABC147 C --HonestOrUnkind2 [Python]
Löse ABC163 A ~ C mit Python
ABC127 A, B, C Erklärung (Python)
ABC166 in Python A ~ C Problem
Löse ABC168 A ~ C mit Python
Löse ABC036 A ~ C mit Python
AtCoder ABC 114 C-755 mit Python3 gelöst
Löse ABC162 A ~ C mit Python
Löse ABC167 A ~ C mit Python
ABC128 A, B, C Kommentar (Python)
Löse ABC158 A ~ C mit Python
ABC126 A, B, C Erklärung (Python)
Löse ABC037 A ~ C mit Python
Löse ABC175 A, B, C mit Python
Python-Memorandum 2
Algorithmus in Python (ABC 146 C Dichotomie
Python-Memorandum
Python Memorandum
Python Memorandum
Python: Ich habe das Problem des Handlungsreisenden ausprobiert
Python-Memorandum
Python Memorandum
Python-Memorandum
Fordern Sie AtCoder (ABC) 164 mit Python heraus! A ~ C Problem
Anfänger ABC156 (Python)
Python-Grundmemorandum
Python Pathlib Memorandum
Python-Memorandum (Algorithmus)
AtCoder ABC 174 Python
Anfänger ABC155 (Python)
Python C ++ Notizen
Python, openFrameworks (c ++)
Anfänger ABC157 (Python)
Python-Memorandum [Links]
AtCoder ABC 175 Python
Löse den Atcoder ABC176 (A, B, C, E) in Python