Cod sursa(job #2147867)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 1 martie 2018 09:01:02
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <fstream>
#include <map>

using namespace std;

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

const int nmax=1000000;
int n,v[nmax+5];
int cur,vot;
int i;

int main()
{
    cin>>n>>v[1];
    cur=v[1];
    vot=1;
    for(i=2;i<=n;i++)
    {
        cin>>v[i];
        if(v[i]==cur)
            vot++;
        else
        {
            if(vot==0)
            {
                vot=1;
                cur=v[i];
            }
            else
                vot--;
        }
    }
    int nr=0;
    for(i=1;i<=n;i++)
        if(v[i]==cur)
            nr++;
    if(nr>=n/2+1)
        cout<<cur<<" "<<nr;
    else
        cout<<-1;
	return 0;
}
/**


**/