Cod sursa(job #2442174)
Utilizator | Birjovanu Ioan Cristian Ionut_Birjovanu | Data | 23 iulie 2019 02:01:42 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int x[1000001];
int main()
{
int i,n,maj,prez=1;
fin>>n>>x[0];
maj=x[0];
for(i=1;i<n;i++){
fin>>x[i];
if(x[i]==maj)prez++;
else prez--;
if(prez<=0){
maj=x[i];
prez=1;
}
}
prez=0;
for(i=0;i<n;i++)
if(x[i]==maj)prez++;
if(prez>=(n/2+1))
fout<<maj<<" "<<prez;
else fout<<"-1";
return 0;
}