Cod sursa(job #2955236)
Utilizator | DaryuF daryuf | Data | 16 decembrie 2022 17:10:12 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | cnsh_16_12 | Marime | 0.56 kb |
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int main()
{
int n , a[1000001] , c , f;
in >> n >> a[1];
c=a[1];
f = 1;
for(int i= 2 ; i <= n ; ++i)
{
in >> a[i];
if(a[i] == c) f++;
else
{
f--;
if(f == 0)
{
c = a[i];
f = 1;
}
}
}
f = 0;for(int i = 1 ; i <= n ; ++i)
if(a[i] == c) f++;
if(f > n/2) {out<<c<<" "<<f;}
else out << -1;
}