Cod sursa(job #1790596)

Utilizator adiaioanaAdia R. adiaioana Data 28 octombrie 2016 14:58:35
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n,i,v[3000001],fr,elm;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
    fin>>v[i];
fr=1;elm=v[1];
for(i=2;i<=n;i++)
    if(v[i]==elm) fr++;
    else{
    fr--;
    if(fr<0)
        fr=1,elm=v[i];
    }
fr=0;
for(i=1;i<=n;i++)
    if(v[i]==elm)
        fr++;
if(fr>=n/2+1)
    fout<<elm<<' '<<fr;
else fout<<"-1";
return 0;
}