Cod sursa(job #2684681)
| Utilizator | Data | 14 decembrie 2020 15:33:42 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
#include <algorithm>
using namespace std;
int v[ 1000000 ], n;
int main()
{
int vel, nr = 0;
ifstream cin( "elmaj.in" );
cin >> n;
for( int i = 0; i < n; i++ )
cin >> v[ i ];
cin.close();
sort( v, v + n );
int i = n / 2, j = n / 2 + 1, val = v[ n / 2 ];
while( i >= 0 && v[ i ] == val )
--i, nr++;
while( j < n && v[ j ] == val )
++j, nr++;
ofstream cout( "elmaj.out" );
if( nr > n / 2 )
cout << val << ' ' << nr << '\n';
else cout << "-1\n";
return 0;
}
