Cod sursa(job #1249792)

Utilizator deea101Andreea deea101 Data 27 octombrie 2014 14:52:45
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
#define NMAX 1000001
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");

int v[NMAX],N,k,cand;

void assign(int i)
{
    if(k==0) { k=1; cand=v[i]; return; }
    if(v[i]==cand) k++;
        else k--;
}
int main()
{
    f>>N;
    int i,check=0;
    for(i=1;i<=N;i++)
        f>>v[i];

    for(i=1;i<=N;i++)
        assign(i);

    for(i=1;i<=N;i++)
        if(v[i]==cand) check++;

    if(check > N/2) g<<cand<<' '<<check;
    else g<<-1;
}