Cod sursa(job #1571186)
Utilizator | Ionut Anghelina ionanghelina | Data | 17 ianuarie 2016 14:16:27 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include<cstdio>
using namespace std;
int *v;
int n;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
v=new int [n+5];
int k=0,em=0;
for (int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
if (!k)
{
em=v[i];
k++;
}
else
if (v[i]==em)
{
k++;
}
else
{
k--;
}
}
int ap=0;
for (int i=1;i<=n;i++)
{
if(v[i]==em) ap++;
}
if (ap>(n/2)) printf("%d %d\n",em,ap);
else printf("-1\n");
delete[]v;
return 0;
}