inundatie

Time limit: 0.1s Memory limit: 64MB Input: inundatie.in Output: inundatie.out

Fie un șir de NN coloane de ciment (pozițiile lor fiind numerotate de la 11 la NN) de aceeași lățime și diverse înălțimi. Ele sunt încadrate la stânga (poziția 00) și la dreapta (poziția N+1N+1) de ziduri foarte înalte. Apa începe să curgă de deasupra primei coloane, câte o pătrățică de apă pe secundă. Apa se acumulează dacă are pereți în stânga și în dreapta, altfel curge mai jos către dreapta. Deasupra fiecărei coloane de ciment se poate forma astfel o coloană de apă, cu înălțimea egală cu numărul de pătrățele de la nivelul apei până la zona de contact cu coloana de ciment.

Cerință

  1. Care este înălțimea HH a celei mai înalte coloane de apă după ce apa a ajuns peste tot la înălțimea celei mai înalte coloane de ciment?
  2. Care este numărul TT de secunde în care apa ajunge să acopere coloana numărul PP?
  3. Care este poziția DD a celei mai din dreapta coloane acoperită de apă după SS secunde?
  4. Care este poziția RR a celei mai din stânga coloane pe care o putem reduce cu o unitate astfel încât apa să ajungă cât mai repede la coloana PP?

Date de intrare

Fișierul de intrare inundatie.in conține pe prima linie un număr natural CC, reprezentând cerința ce trebuie rezolvată(1,2,31, 2, 3, sau 44). Pe a doua linie numerele N,PN, P și SS despărțite prin câte un spațiu cu semnificația din enunț. Pe a treia linie se găsesc NN numere naturale separate prin câte un spațiu ce reprezintă înălțimile coloanelor.

Date de ieșire

Fișierul de ieșire inundatie.out va conține un singur număr, astfel:

Dacă C=1C=1: înălțimea HH cu semnificația de mai sus.
Dacă C=2C=2: timpul TT cu semnificația de mai sus.
Dacă C=3C=3: poziția DD cu semnificația de mai sus.
Dacă C=4C=4: poziția RR cu semnificația de mai sus.

Restricții și precizări

  • C{1,2,3,4}C \in \{1, 2, 3, 4\}
  • 3N100 0003 \leq N \leq 100 \ 000
  • 11 \leq înălțimea oricărei coloane din șir 20 000\leq 20 \ 000
  • 1PN1 \leq P \leq N
  • 1S100 0001 \leq S \leq 100 \ 000;
  • O coloană de înălțime hh este acoperită de apă dacă apa a ajuns la înălțimea hh.
# Punctaj Restricții
1 11 C=1C = 1
2 25 C=2C = 2
3 33 C=3C = 3
4 31 C=4C = 4

Exemplul 1

inundatie.in

1
32 15 45
8 5 5 4 3 3 7 5 4 3 3 5 4 3 4 5 6 5 4 4 3 4 5 4 3 2 1 2 3 4 5 9

inundatie.out

8

Exemplul 2

inundatie.in

2
32 15 45
8 5 5 4 3 3 7 5 4 3 3 5 4 3 4 5 6 5 4 4 3 4 5 4 3 2 1 2 3 4 5 9

inundatie.out

21

Exemplul 3

inundatie.in

3
32 15 45
8 5 5 4 3 3 7 5 4 3 3 5 4 3 4 5 6 5 4 4 3 4 5 4 3 2 1 2 3 4 5 9

inundatie.out

29

Exemplul 4

inundatie.in

4
32 15 45
8 5 5 4 3 3 7 5 4 3 3 5 4 3 4 5 6 5 4 4 3 4 5 4 3 2 1 2 3 4 5 9

inundatie.out

7

Explicații

Toate exemplele se referă la figura de mai sus, diferă doar numărul cerinței. În toate N=32,P=15N=32, P=15 și S=45S=45.

Primul exemplu: Linia portocalie de înălțime 99 este nivelul apei la momentul când toate coloanele devin acoperite de apă.
Cea mai înaltă coloană de apă este cea cu numărul 2727, având 88 pătrățele de apă.

Al doilea exemplu: În imaginea de mai sus, liniile roșii arată nivelurile apei la momentul când apa acoperă coloana de la poziția P=15P=15. Observăm că sunt 2121 de pătrățele de apă sub linie, deci este nevoie de 2121 de secunde pentru a acoperi coloana 1515.

Al treilea exemplu: Linia verde arată nivelul apei după 4242 de secunde. Ea acoperă coloana numărul 2929. Lăsând apa să curgă încă 33 secunde (până la cele S=45S=45 secunde) nivelul nu se ridică suficient pentru a ajunge la coloana 3030 deoarece ar mai fi nevoie de 55 pătrățele de apă, adică încă 55 secunde.

Al patrulea exemplu: Cea mai din stânga coloană pe care o vom reduce cu unu este coloana numărul 77. Astfel apa va ajunge cu 55 secunde mai devreme la coloana P=15P=15. Linia maro (linia de apă de înălțime 66 care se întinde de la coloana 22 la coloana 66) arată cele 55 pătrățele cu care reducem timpul. Orice altă coloană am reduce nu va ajunge așa repede.

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