Cod sursa(job #1935472)

Utilizator darian2001Clodnischi Darian Antonio darian2001 Data 22 martie 2017 13:54:49
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
using namespace std;

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


int main()
{
    int n,v[1000000];
    int k=0,elem=-1;

    f>>n;
    for(int i=0;i<n;i++)
        f>>v[i];
    for(int i=0;i<n;i++)
    {
        if(k==0)
        elem=v[i];
        else if(v[i]==elem)
            k++;
        else k--;
    }
    if(elem>0)
    {
        k=0;
        for(int i=0;i<n;i++)
            if(v[i]==elem)
                k++;
    }
    if(k>n/2)
        g<<elem<<" "<<k;
    else
        g<<"-1";

    f.close();
    g.close();
}