Cod sursa(job #1331119)
Utilizator | Cretu 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";
}