Cod sursa(job #1331144)
Utilizator | Data | 31 ianuarie 2015 12:40:53 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <iostream>
using namespace std;
int v[2*10^9], fr[1000000];
int main()
{int n, s, i, c;
cin>>n;
for(i=1; i<=n; i++) cin>>v[i];
fr[1]=0;
s=0;
for(i=1; i<=n; i++)
{if(fr[1]==0)
{
fr[1]++;
s=v[i];
}
else
{if(v[i]==v[i+1]) fr[1]++;
else fr[1]--;
}
}
c=0;
for(i=1; i<=n; i++)
{
if(s==v[i]) c++;
}
if(c>n/2) cout<<s<<" "<<c;
else cout<<"-1";
}