Cod sursa(job #2397406)

Utilizator Dragono63Stanciu Rares Stefan Dragono63 Data 4 aprilie 2019 13:09:44
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include<bits/stdc++.h>
using namespace std;
long long int n,v[1000000];
int main()
{

    ifstream fin("elmaj.in");
    ofstream fout("elmaj.out");

    int a,ap=0,c=0;

    fin>>n>>v[0];

    a=v[0];
    ap++;
    for(int i=1; i<n; i++)
    {
        fin>>v[i];
        if(v[i]==a)
        {
            ap++;
        }
        else ap--;

        if(ap<0)
        {
            a=v[i];
            ap=1;
        }
    }
    if(ap>0)
    {
        c=1;
        ap=0;
    }
    for(int i=0; i<n; i++)
    {
        if(v[i]==a)
        {
            ap++;
        }
    }
    if(c==1 && ap>=n/2+1)
    {
        fout<<a<<" "<<ap;
    }
    else
    {
        fout<<"-1";
    }

    return 0;
}