Cod sursa(job #2713380)

Utilizator gargantuanRares Oprea gargantuan Data 27 februarie 2021 20:18:20
Problema Elementul majoritar Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>

using namespace std;

ifstream cin("elmaj.in");
ofstream cout("elmaj.out");

int i,a[101];
void  maj(int n,int a[])
{
    int candidate=a[1],nrap=1;
    for(i=2;i<=n;i++)
    {
        if(candidate==a[i])
            nrap++;
        else
            nrap--;
        if(nrap==0)
        {
            candidate=a[i];
            nrap=1;
        }
    }
    nrap=0;
    for(i=1;i<=n;i++)
    {
        if(a[i]==candidate)
            nrap++;
    }
    if(nrap>=n/2+1)
        {
            cout<<candidate<<" "<<nrap;
        }
    else
        cout<<-1;
}
int main()
{
    int n;
    cin>>n;
    for(i=1;i<=n;i++)
        cin>>a[i];
    maj(n,a);

    return 0;
}