Cod sursa(job #2137524)

Utilizator mariakKapros Maria mariak Data 20 februarie 2018 20:53:48
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
FILE *fin  = freopen("elmaj.in", "r", stdin);
FILE *fout = freopen("elmaj.out", "w", stdout);

using namespace std;
/*--------Data--------*/
const int MAX = 1e6 + 2;
int n, a[MAX];
/*--------------------*/

int main(){
    scanf("%d", &n);
    int k = 0, x = -1;

    for(int i = 1; i <= n; ++ i){
        scanf("%d", &a[i]);
        if(k){
            if(x != a[i]) --k;
            else ++ k;
        }else{
            k = 1;
            x = a[i];
        }
    }

    int app = 0;
    for(int i = 1; i <= n; ++ i)
        if(x == a[i]) ++ app;

    if(app > n/2)
        printf("%d %d\n", x, app);
    else printf("-1\n");

    return 0;
}