Cod sursa(job #2205441)

Utilizator Diamond2706Lihet Catalin Diamond2706 Data 19 mai 2018 10:32:06
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
long long a[1000010],i,n,x,k,maj;
int main()
{
    fin>>n;
    for(i=1;i<=n;i++)fin>>a[i];
    maj=a[1];
    for(i=1;i<=n;i++)
   {
       if(a[i]==maj)x++;
       if(a[i]!=maj)x--;
       if(x<0){maj=a[i];x=1;}
   }
   for(i=1;i<=n;i++)
   {
       if(a[i]==maj)k++;
   }
   if(k>n/2)fout<<maj<<" "<<k;
   else fout<<-1;
    return 0;
}