Cod sursa(job #1768405)

Utilizator nurof3nCioc Alex-Andrei nurof3n Data 30 septembrie 2016 20:36:33
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int N,a[1000001];
void majoritar(int n,int a[])
{
    int cand=-1,k=0;
    for(int i=1;i<=n;i++)
        if(k==0)
        {
            cand=a[i];
            k=1;
        }
        else
            if(a[i]==cand) k++;
            else k--;
    ///verificare cand ca fiind element majoritar
    int nr=0;
    for(int i=1;i<=n;i++)
        if(a[i]==cand) nr++;
    if(nr>n/2)
        g<<cand<<' '<<nr;
    else g<<-1;
}
int main()
{
    f>>N;
    for(int i=1;i<=N;i++)
        f>>a[i];
    majoritar(N,a);
    return 0;
}