Cod sursa(job #1110322)
Utilizator | Patrick Sava xtreme77 | Data | 17 februarie 2014 22:59:14 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include <cstdio>
using namespace std;
int ap,c,x,n,i;
int main()
{
freopen("elmaj.in","r",stdin);
freopen("elmaj.out","w",stdout);
scanf("%d",&n);
scanf("%d",&c);
for(i=2;i<=n;i++)
{
scanf("%d",&x);
if(c==x)
ap++;
else
if(ap-1>0)ap--;
else
if (ap-1==0){ap=0;c=x;}
else
if(!ap)c=x;
}
fclose(stdin);
freopen("elmaj.in","r",stdin);
ap=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(c==x)
ap++;
}
if(ap>=n/2+1)printf("%d %d",c,ap);
else printf("-1\n");
return 0;
}