Cod sursa(job #2029808)

Utilizator attack2002Girban Alexandru attack2002 Data 30 septembrie 2017 14:33:19
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<fstream>
using namespace std;
long long int v[1000007];
int main()
{
    ifstream read("elmaj.in");
    ofstream write("elmaj.out");
    int n, sanse_maj=1, counter=0;
    read>>n;
    for(int i=1;i<=n;++i)
    {
        read>>v[i];
        if(v[i] == v[sanse_maj])
        {
            counter ++;
        }
        else
        {
            counter --;
        }
        if(counter < 0)
        {
            sanse_maj = i;
            counter = 1;
        }
    }
    counter = 0;
    for(int i=1;i<=n;++i)
    {
        if(v[i]==v[sanse_maj])
        {
            counter ++;
        }
    }
    if(counter > n/2)
    {
        write<<v[sanse_maj]<<" "<<counter;
    }
    else
    {
        write<<-1;
    }
    return 0;
}