Cod sursa(job #1974659)

Utilizator papinub2Papa Valentin papinub2 Data 28 aprilie 2017 13:37:17
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
# include <fstream>

using namespace std;

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

int n, sm, cnt, nr;
int v[1000010];

int main()
{
    in >> n;

    cnt = 1;

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

    sm = v[1];

    for (int i = 2; i <= n; i++)
    {
       if(cnt==0)
			{
				sm=v[i];
				cnt=1;
			}
			else
				if (v[i]==sm) cnt++;
					else cnt--;

    }

    for (int i = 1; i <= n; i++)
    {
        if (v[i] == sm)
            nr++;
    }

    if (nr >= n/2 + 1)
        out << sm << ' ' << nr;

    else

        out << -1;

    return 0;
}