Cod sursa(job #2043501)

Utilizator Iorgus08Iorgus Serghei Cicala Iorgus08 Data 20 octombrie 2017 09:51:04
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.87 kb
#include <bits/stdc++.h>

#define lim 1000005

using namespace std;

ifstream in("elmaj.in");
ofstream out("elmaj.out");

int n;
int v[lim];

void read()
{
    int contor = 0, candidat = 0, aparitii = 0;
    int i;
    in>>n;
    for(i=0; i<n; i++)
    {
        in>>v[i];
            if(contor == 0)
            {
                candidat = v[i];
                contor = 1;
            }
            else
            {

                if(v[i] == candidat)
                    contor += 1;
                else
                    contor -= 1;
            }
        }
        for(i = 0; i <n; i++)
            if(v[i] == candidat)
                aparitii += 1;
        if(aparitii < n/2+1)
            out << "-1";
        else
            out << candidat << " " << aparitii;
    }
    int main()
    {
        read();
        return 0;
    }