Cod sursa(job #2976693)
Utilizator | Matei Dobrea matei8787 | Data | 9 februarie 2023 20:51:34 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int v[1000005];
int main()
{
int n, nra, elmaj;
fin>>n;
for(int i=1; i<=n; i++)
{
fin>>v[i];
}
elmaj=v[1];
nra=1;
for(int i=2; i<=n; i++)
{
if(elmaj==v[i])
nra++;
else
{
nra--;
if(nra==0)
{
elmaj=v[i];
nra++;
}
}
}
nra=0;
for(int i=1; i<=n; i++)
{
if(elmaj==v[i])
nra++;
}
if(nra>=n/2+1)
fout<<elmaj<<" "<<nra;
else
fout<<"-1";
return 0;
}