#!/usr/bin/env python3 # -*- coding: utf8 -*- # 31-Z4-1 # Autor: Ríša Hladík N = int(input()) # Načteme pozice (a to tak, že input().split() nám rozseká řádek vstupu na # seznam stringů a pak na každý prvek zavoláme funkci int() pro převedení na čísla) pozice = [int(a) for a in input().split()] serazene = sorted([(poz, i) for i, poz in enumerate(pozice)]) # enumerate(seznam) pro seznam = [s₀, s₁, s₂, …] vyrobí posloupnost [(0, s₀), # (1, s₁), …]. Takto tedy dostaneme seznam tvaru [(s₀, 0), (s₁, 1), …], který # následně seřadíme. Potřebujeme si totiž pamatovat původní indexy kamarádů v # poli, abychom je mohli vypsat. Pythoní sorted řadí lexikograficky, tedy v # našem případě primárně podle pozice a v případě shody podle indexu. def vzdalenost(pole, k): """Spočte vzdálenost k-tého člověka v (už seřazeném) poli pole k jeho sousedům.""" dist = float("inf") # Nastavíme do vzdálenosti plus nekonečno (anglicky infinity neboli inf) if k > 0: dist = min(dist, pole[k][0] - pole[k - 1][0]) if k < len(pole) - 1: dist = min(dist, pole[k + 1][0] - pole[k][0]) return dist nejlepsi = 0 # Libovolný index for i, (poz, index) in enumerate(serazene): # i je teď index v poli serazene, index je index dané osoby v původním # poli. if vzdalenost(serazene, i) > vzdalenost(serazene, nejlepsi): nejlepsi = i print(serazene[nejlepsi][1])