Cod sursa(job #1239755)

Utilizator vlady1997Vlad Bucur vlady1997 Data 9 octombrie 2014 18:58:17
Problema Elementul majoritar Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
        #include <cstdio>
        using namespace std;
        int a[3000001];
        int main()
        {
            int n, i, x, nr=0;
            freopen("elmaj.in","r",stdin);
            freopen("elmaj.out","w",stdout);
            scanf("%d",&n);
            for (i=1; i<=n; i++) scanf("%d",&a[i]); x=a[1];
            for (i=2; i<=n; i++)
            {
                if (a[i]==x) nr++;
                else nr--;
                if (nr<0)
                {
                    x=a[i];
                    nr=1;
                }
            }
            nr=0;
            for (i=1; i<=n; i++) if (a[i]==x) nr++;
            if (nr>n/2) printf("%d %d\n",x,nr);
            else printf("-1\n");
            fclose(stdin);
            fclose(stdout);
            return 0;
        }