Cod sursa(job #2511501)

Utilizator Stefanescu_DeliaDelia Stefanescu Stefanescu_Delia Data 19 decembrie 2019 10:13:03
Problema Elementul majoritar Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
const int N = 1000010;
int n,v[N],el,cnt;
int main()
{
    f >> n;
    for( int i=1 ; i<=n ; i++)
    {
        f>>v[i];
        if(cnt==0)
        {
            el=v[i];
            cnt++;
        }
        else
            if(v[i]==el)
                cnt++;
            else
                cnt--;

    }
    cnt=0;
    for(int i=1;i<=n;i++)
        if(v[i]==el)
            cnt++;
    if(cnt>n-cnt)
        g<<el<<' '<<cnt<<'\n';
    else
        g<<"-1\n";
    return 0;
}
int cmmdc(int a,int b,int &x,int &y)
{
    if(b==0){x = 1 ; y = 0 ; return a;}
    int X,Y,D;
    D=cmmdc(b,a%b,X,Y);
    x=Y;
    y=X-a/b*Y;
    return D;
}