Cod sursa(job #1105422)

Utilizator EpictetStamatin Cristian Epictet Data 11 februarie 2014 19:59:16
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int N,nr,ok,A[1000001];

int Element_Majoritar()
{
    int el_m = 0, k = 0;
    for(int i=1; i<=N; i++)
    {
        if(k == 0)
            el_m = A[i], k = 1;
        else if(el_m == A[i])
            k++;
        else
            k--;
    }

    for(int i=1; i<=N; i++)
    {
        if(A[i] == el_m)
            nr++;
    }
    if(nr > N/2)
        g << el_m << " " << nr << '\n';
    else
        g << -1 << '\n';
}

int main()
{
    f >> N;
    for(int i=1; i<=N; i++)
        f >> A[i];
    Element_Majoritar();
    g.close();
    return 0;
}