Stalpi

Time limit: 1s Memory limit: 64MB Input: stalpi.in Output: stalpi.out

Cerință

În ciudatul oraș al Micului Gates, primăria a instalat pe o stradă nn stâlpi pentru iluminat, dispusi în linie, la distanțe egale între ei, de 11 metru. Fiecare stâlp este identificat unic prin poziția sa în șir, de la 11 la nn. Primul stâlp se află la poziția 11 (la începutul străzii), al doilea stâlp la poziția 22 și așa mai departe, până la poziția nn, unde se află ultimul stâlp (unde se termină strada). Ciudățenia constă în faptul că stâlpii au înălțimi diferite, fiecare stâlp asigurând o iluminare a zonei în care se află pe o distanță egală în stânga și în dreapta sa cu înălțimea stâlpului. De exemplu, dacă un stâlp are înălțimea xx, el va asigura iluminarea pe o distanță egală cu xx metri în stânga și xx metri în dreapta sa (inclusiv poziția pe care se află). Înălțimea fiecărui stâlp este cunoscută.

Micul Gates primește de la primărie sarcina de a răspunde următoarelor cerințe:

  1. Care este cea mai mare diferență de înălțime între doi stâlpi consecutivi în șir?
  2. Care este numărul minim de stâlpi care trebuie păstrați, astfel încât strada să fie complet iluminată?

Date de intrare

Fișierul de intrare stalpi.in conține:

  • pe prima linie o valoare 11 sau 22 reprezentând numărul cerinței care trebuie rezolvată;
  • pe a doua linie un număr întreg nn, reprezentând numărul de stâlpi;
  • pe a treia linie nn numere naturale nenule separate printr-un spațiu, unde al ii-lea număr reprezintă înălțimea stâlpului de la poziția ii.

Date de ieșire

Pe prima linie a fișierului de ieșire stalpi.out se va găsi un singur număr reprezentând răspunsul în conformitate cu cerința care trebuie rezolvată.

Restricții și precizări

  • 2n1062 \leq n \leq 10^6;
  • Pentru cerința 11 se acordă 3232 de puncte;
  • Pentru cerința 22 se acordă 6868 de puncte. Dintre acestea, pentru 2424 de puncte, n103n \leq 10^3;
  • Pentru toate testele, 1hi1031 \leq h_i \leq 10^3 pentru oricare ii între 11 și nn.

Exemplul 1

stalpi.in

1
3
5 10 8

stalpi.out

5

Explicație

Diferența maximă dintre doi stâlpi vecini este 5 (dintre stâlpul 1 si stâlpul 2).

Exemplul 2

stalpi.in

2
10  
1 2 1 1 3 1 2 1 1 1  

stalpi.out

3

Explicație

Cel mai mic număr de stâlpi de care avem nevoie este 3.
1 2 1 1 3 1 2 1 1 11 \ \mathbf{2} \ 1 \ 1 \ \mathbf{3} \ 1 \ 2 \ 1 \ 1 \ \mathbf{1} (stâlpul de pe poziția 2, cel de pe poziția 5 și cel de pe poziția 10)

Exemplul 3

stalpi.in

2
10
1 1 1 1 1 1 1 1 1 1

stalpi.out

4

Explicație

1 1 1 1 1 1 1 1 1 11 \ \mathbf{1} \ 1 \ 1 \ \mathbf{1} \ 1 \ 1 \ \mathbf{1} \ 1 \ \mathbf{1}. Avem nevoie de 44 stâlpi.
Primul stâlp ales acoperă pozițiile de la 11 la 33, inclusiv acestea.
Al doilea stâlp ales acoperă pozițiile de la 44 la 66, inclusiv acestea.
Al treilea stâlp ales acoperă pozițiile de la 77 la 99, inclusiv acestea.
Al patrulea stâlp ales acoperă pozițiile de la 99 la 1010, inclusiv acestea.

Log in or sign up to be able to send submissions!