Cod sursa(job #1331119)

Utilizator AureliaCretu Aurelia Aurelia Data 31 ianuarie 2015 12:34:48
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>

using namespace std;
int v[2*10^9], fr[1000000];
int main()
{int n, s, i;
cin>>n;
for(i=1; i<=n; i++) cin>>v[i];
fr[1]=0;
s=0;
for(i=2; i<=n; i++)
{if(fr[1]==0)
        {
            fr[1]++;
            s=v[i-1];
        }
        else
        {if(v[i-1]==v[i]) fr[1]++;
        else fr[1]--;
        }
}
fr[1]=0;
for(i=1; i<=n; i++)
{
    if(s==v[i]) fr[1]++;
}
if(fr[1]>n/2) cout<<s<<" "<<fr[1];
else cout<<"-1";
}