Cod sursa(job #2340293)
Utilizator | Data | 10 februarie 2019 10:59:18 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
long long cunt=0,cand=-1,x,v[1000010],n;
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>v[i];
if(cand!=v[i])
{
if(cunt==0)
cand=v[i] , cunt=1;
else cunt--;
}
else cunt++;
}
for(int i=1;i<=n;i++)
if(v[i]==cand)
x++;
if(x>=(n+1)/2)
fout<<cand<<" "<<x<<'\n';
else fout<<-1<<'\n';
return 0;
}