Cod sursa(job #2325334)

Utilizator BatedCrayonBratosin David - Robert BatedCrayon Data 22 ianuarie 2019 15:27:09
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#define NMAX 1000001

using namespace std;

int v[NMAX];
int c,val,N;

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

int main()
{
    in>>N;
    for(int i=1; i<=N; i++)
        in>>v[i];

    c=1;
    val=v[1];
    for(int i=2; i<=N; i++)
    {
        if(c==0)
        {
            val=v[i];
            c=1;
        }
        else
        {
            if(v[i]==val)
                c++;
            else
                c--;
        }
    }

    int ap=0;

    for(int i=1; i<=N; i++)
        if(val==v[i])
            ap++;

    if(ap>=N/2+1)
        out<<val<<" "<<ap;
    else
        out<<-1;


    return 0;
}