Cod sursa(job #1897256)

Utilizator denniscrevusDennis Curti denniscrevus Data 1 martie 2017 11:59:46
Problema Elementul majoritar Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#define NMAX 1000005
using namespace std;

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

int n,i,v[NMAX], cnt, elmaj, ans;

int main()
{
    f>>n;

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

    cnt = 0;
    elmaj = 0;

    for(i=1;i<=n;i++)
    {
        if(v[i] != elmaj)
            cnt--;

        if(cnt < 0)
        {
            elmaj = v[i];
            cnt = 1;
        }
    }

    ans = 0;
    for(i=1;i<=n;i++)
    {
        if(elmaj == v[i])
            ans++;
    }

    if(ans >= n/2+1)
        g<<elmaj<<" "<<ans;
    else g<<"-1";
}