시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB1312888.889%

문제

Lietuvos atvirosiose mokinių plaukimo varžybose gali dalyvauti visi norintys mokiniai. Kadangi išankstinė registracija nėra būtina, organizatoriai niekada nežino, kiek gali sulaukti norinčiųjų varžytis.

Nors baseine yra 8 plaukimo takeliai, šį kartą mokinių atvyko mažiau nei buvo tikėtasi, todėl organizatoriai nusprendė juos paskirstyti į mažesnes grupes po ne mažiau nei A ir ne daugiau nei B vienoje.

Taip pat organizatoriai siekia, kad kiekvienas plaukimas būtų kuo įdomesnis ir jame dalyvautų kuo panašesnio pajėgumo sportininkai.

Parašykite programą, kuri suskirstytų atvykusius mokinius į plaukimus taip, kad absoliutus skirtumas tarp bent kuriame plaukime dalyvaujančių lėčiausio ir greičiausio plaukikų vidutinių distancijos įveikimo laikų būtų kuo mažesnis.

입력

Pirmojoje eilutėje pateikti trys skaičiai atskirti tarpu: į varžybas atvykusių dalyvių skaičius (N) bei minimalus (A) ir maksimalus (B) viename plaukime galinčių dalyvauti plaukikų skaičius.

Tolimesnėse N eilučių didėjimo tvarka pateikti laikai ti, per kurį vidutiniškai kiekvienas plaukikas įveikia distanciją (ti ≤ ti+1).

Pradiniai duomenys visada bus tokie, kad sprendinys egzistuos.

출력

Jums reikia išvesti vieną skaičių – didžiausią laiko skirtumą tarp vieno plaukimo lėčiausio ir greičiausio dalyvių.

제한

  • 2 ≤ N ≤ 500 000
  • 2 ≤ A ≤ B ≤ 8
  • 1 ≤ ti ≤ 1 000 000

서브태스크

번호배점제한
110

A = B

230

N ≤ 40

360

Papildomų ribojimų nėra

예제 입력 1

5 2 4
1
1
3
3
4

예제 출력 1

1

Pirmas plaukimas: 1 1. Abiejų plaukikų laikai vienodi (skirtumas – 0).

Antras plaukimas: 3 3 4. Skirtumas tarp greičiausio ir lėčiausio – 1.

Jei būtų skirstoma taip:

  • 1 1 3
  • 3 4

Tada skirtumas tarp pirmo plaukimo dalyvių būtų 2.

예제 입력 2

8 3 5
1
1
1
5
8
8
8
10

예제 출력 2

4

Optimalus paskirstymas:

  • 1 1 1 5
  • 8 8 8 10

채점 및 기타 정보

  • 예제는 채점하지 않는다.