pagini

Time limit: 0.5s Memory limit: 16MB Input: pagini.in Output: pagini.out

În podul casei, Andrei a găsit coperta unei cărţi vechi de-a bunicului său, şi împrăştiate prin mai multe cutii, paginile rupte din această carte. El se gândeşte că i-ar face o mare bucurie bunicului dacă ar reface cartea şi ar prinde paginile acesteia în copertă.

După ce a strâns laolaltă toate paginile găsite, Andrei îşi dă seama că acestea nu sunt puse în ordine şi o parte dintre ele s-au pierdut. Astfel, se hotărăşte să prindă împreună cu o agrafă paginile ce ar trebui aranjate una după alta în carte.

Cunoscând numărul fiecărei pagini din carte, găsite de Andrei, determinaţi care este numărul de agrafe de care are nevoie Andrei şi care este cel mai mare număr de pagini ce au fost prinse împreună cu o agrafă.

Cerință

Să se scrie un program care să determine numărul de agrafe necesare pentru paginile cărţii şi cel mai mare număr de pagini ce au fost prinse împreună cu o agrafă.

Date de intrare

Fişierul de intrare pagini.in conţine pe prima linie numărul nn de pagini, iar pe următoarele nn linii câte un singur număr natural nenul, reprezentând numărul unei pagini din carte.

Date de ieșire

Fişierul de ieşire pagini.out va conţine

  • pe prima linie un singur număr reprezentând numărul de agrafe
  • pe a doua linie un singur număr reprezentând cel mai mare număr de pagini ce au fost prinse împreună cu o agrafă.

Restricții și precizări

  • 1n100 0001 \leq n \leq 100 \ 000;
  • Valorile din vector sunt cel mult egale cu 10610^6
  • Testele si restricțiile au fost refăcute pentru standardele anului 20232023

Exemplu

pagini.in

12
11
40
27
21
13
10
5
2
4
25
26
12

pagini.out

3
4

Explicație

Paginile 10,11,12,1310,11,12,13 au fost prinse cu o agrafă.
Paginile 44 şi 55 au fost prinse cu o agrafă.
Paginile 25,2625, 26 şi 2727 au fost prinse cu o agrafă.

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