Cod sursa(job #1979974)

Utilizator popescuadrianpopescuadrian popescuadrian Data 11 mai 2017 20:32:13
Problema Elementul majoritar Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <algorithm>
using namespace std;

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

int v[3000005];
int main()
{
    int maj,cnt=1,n,i,o=0;

    in>>n;

    for(i=1;i<=n;i++) in>>v[i];

    for(i=1;i<=n;i++)
    {
        if(i==1)
            maj=v[i];
        else
        {
            if(v[i]!=maj)
            {
                cnt--;
                if(cnt==0)
                {
                    maj=v[i];
                    cnt=1;
                }
            }
            else
                cnt++;
        }
    }
    for(i=1;i<=n;i++)
    {
        if(v[i]==maj)
            o++;
    }
    if(o>=n/2+1)
        out<<maj<<" "<<o;
    else
        out<<"-1";
    return 0;
}