Cod sursa(job #2015546)

Utilizator workwork work work Data 26 august 2017 16:29:43
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <bits/stdc++.h>

using namespace std;

FILE *F=fopen("elmaj.in", "r"), *G=fopen("elmaj.out", "w");

int n, v[1000003], k;

int main()
{
    fscanf(F, "%d ", &n);
    for(int i = 1; i <= n; ++ i) fscanf(F, "%d ", &v[i]);
    int cand = -1, k = 0;
    for(int i = 1; i <= n; ++ i)
        if(!k) cand = v[i], k = 1;
        else if(v[i] == cand) k++;
        else k--;
    if(cand == -1){fprintf(G, "-1");return 0;}
    k = 0;
    for(int i = 1; i <= n; ++ i)
        if(cand == v[i]) k++;
    if(k < n/2+1) fprintf(G, "-1");
    else fprintf(G, "%d %d", cand, k);
    return 0;
}