Cod sursa(job #1331094)

Utilizator adaleordeanLeordean Ada Alexandra adaleordean Data 31 ianuarie 2015 12:28:35
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<fstream>

using namespace std;

int v[1000002];
int main()
{
    ifstream f("elmaj.in");
    ofstream g("elmaj.out");
    int i,n,nrmaj=0,nraparitii=0;
    f>>n;
    for(i=1; i<=n; i++)
        f>>v[i];
    for(i=1; i<=n; i++)
    {
        if(nrmaj==0)
        {
            nrmaj=v[i];
            nraparitii=1;
        }
        else if(v[i]==nrmaj)
            ++nraparitii;
        else if(nraparitii==1)
        {
            nrmaj=0;
            nraparitii=0;
        }
        else
            --nraparitii;
    }
    nraparitii=0;
    for (i=1; i<=n; i++)
        {
            if(v[i]==nrmaj)
                ++nraparitii;
        }
    if(nraparitii<=n/2)
        g<<"-1";
    else
        g<<nrmaj<<' '<<nraparitii;

    return 0;
}