Cod sursa(job #1168325)

Utilizator bogdanmarin69Bogdan Marin bogdanmarin69 Data 8 aprilie 2014 00:59:31
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <cstdio>
using namespace std;
#define MAX 1000000
int v[MAX], n, maj=-1, ap;
int main()
{
    int i;
    freopen("elmaj.in", "r", stdin);
    freopen("elmaj.out", "w", stdout);
    scanf("%d", &n);
    for(i=0; i<n; i++){
        scanf("%d", v+i);
        if(v[i]==maj) ap++;
        else
            if(ap==0){
                maj = v[i]; ap = 1;
            }
            else
                ap--;
    }
    ap=0;
    for(i=0; i<n; i++)
        if(v[i]==maj) ap++;
    if(ap>=n/2+1)
        printf("%d %d\n", maj, ap);
    else
        printf("-1\n");
    return 0;
}