Pagini recente » Cod sursa (job #2542496) | Cod sursa (job #650282) | Cod sursa (job #2205788) | Cod sursa (job #2539792) | Cod sursa (job #1460627)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("elmaj.in") ;
ofstream fout ("elmaj.out") ;
int a[1000001] , n ;
void Citire()
{
fin >> n ;
for ( int i = 0 ; i < n ; ++ i )
fin >> a[i];
}
void ElementMajoritar ()
{
int cand = a[0];
int nr = 1 ;
for ( int i = 1 ; i < n ; ++ i )
{
if ( cand == a[i] )
++ nr ;
else
-- nr ;
if ( nr == 0 )
{ cand = a[i] ; nr = 1 ; }
}
if ( nr > 0 )
{
nr = 0 ;
for ( int i = 0 ; i < n ; ++ i )
if ( a[i] == cand )
++ nr ;
if ( nr > n / 2 )
{
fout << cand << " " << nr ;
}
else
fout << "-1" ;
}
}
int main()
{
Citire ();
ElementMajoritar () ;
return 0;
}