Cod sursa(job #2302898)

Utilizator gargantuanRares Oprea gargantuan Data 15 decembrie 2018 11:24:33
Problema Elementul majoritar Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <iostream>
#include <cstdio>
int v[1000000];
using namespace std;
int main()
{
 //   freopen("elmaj.in","r",stdin);
  //  freopen("elmaj.out","w",stdout);
    int n,i,max1=0,nr=1;
    cin>>n;
    for(i=1;i<=n;i++)
      {
        cin>>v[i];
        if(i==1)
            {
            max1=v[i];
            nr++;
            }
        else
            if(v[i]==max1)
                nr++;
        else
        {
            nr--;
            if(nr==0)
            {
                max1=v[i];
                nr++;
            }
        }
      }
      nr=0;
        for(i=1;i<=n;i++)
            if(v[i]==max1)
                nr++;
                if(nr>=n/2+1)
                    cout<<max1<<" "<<nr;
                else
                    cout<<-1;

    return 0;
}