Vrăjitorul Arpsod își dorește să își reamenajeze habitatul. În habitatul acestuia există N
munți, fiecare cu o înălțime cunoscută. Fiind un tip cu un foarte dezvoltat simț estetic, el își dorește să remodeleze cei N
munți astfel încât să obțină un număr maxim de munți cu aceeași înălțime.
Arpsod are la îndemână o magie ce funcționează astfel: alege oricare doi munți, pe primul îl crește cu o unitate iar pe al doilea îl scade cu o unitate. Un munte poate ajunge la înălțimi negative ( practic se transformă într-o groapă ).
Arpsod își poate folosi magia de un număr infinit de ori.
Cerința
Vrăjitorul vă cere să determinați numărul maxim de munți ce pot fi aduși la o înălțime egală.
Date de intrare
Pe prima linie a fișierului munti.in
se va afla numărul natural N
, reprezentând numărul de munți existenți. Pe cea de-a doua linie se vor afla N
valori naturale separate prin spațiu, reprezentând înălțimea inițială a fiecărui munte.
Date de ieșire
Fișierul munti.out
va conține, pe prima și singura linie a fișierului, numărul maxim de munți ce pot fi aduși la o înălțime egală.
Restricții și precizări
1 ≤ N ≤ 1.000.000
1 ≤
înălțimea inițială≤ 1.000.000.000
Exemplu
munti.in
4 2 6 2 2
munti.out
4
Explicație
Toți munții pot fi aduși la înălțime 3
, la fiecare pas scădem o unitate din muntele de înălțime 6
și adăugăm la un munte de înălțime 2
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Munti:
// implementare: Cristi Dospra
// punctaj: 100p
// complexitate: O(N)
#include <fstream>
using namespace std;
ifstream fin ( "munti.in" );
ofstream fout ( "munti.out" );
int main(){
int N, x;
long long S = 0;
fin >> N;
for ( int i = 1; i <= N; ++i ){
fin >> x;
S = ( S + x ) % N;
}
if ( S == 0 )
fout << N;
else
fout << N-1;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1754 Munti
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1754 Munti de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!