Cod sursa(job #942573)

Utilizator mihai_tMihai Teletin mihai_t Data 22 aprilie 2013 23:34:58
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
using namespace std;
int a[1000000],ap,t,n;
void cit()
{
    ifstream f;
    f.open("elmaj.in");
    f>>n;
    for (int i=0;i<n;i++)
        f>>a[i];
    f.close();
}
int elm()
{
    int ap,el;
    ap=1;
    el=a[0];
    for (int i=1;i<n;i++)
    {
        if (a[i]==el) ap++;
        else if (ap==0)
        {
            el=a[i];
            ap=1;
        }
        else ap--;
    }
    return el;
}
int nrap(int t)
{
    int nr=0;
    for (int i=0;i<n;i++) if (t==a[i]) nr++;
    return nr;
}
int main()
{
    cit();
    ofstream g;
    g.open("elmaj.out");
    t=elm();
    ap=nrap(t);
    if (ap>n/2) g<<t<<" "<<ap;
    else g<<-1;
    g.close();
    return 0;
}