Cod sursa(job #1972987)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 24 aprilie 2017 10:23:46
Problema Elementul majoritar Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>

using namespace std;

ifstream f("elmaj.in");
ofstream g("elmaj.out");


int n,v[100001],maj,k,i;
int main()
{
   f>>n;
   f>>v[1];
   maj=v[1];
   k=1;
   for(i=2;i<=n;i++)
   {
       f>>v[i];
       if(v[i]!=maj){k--;}
       else k++;

       if(k<0){k=1;maj=v[i];}
   }

int nr=0;

for(i=1;i<=n;i++)
if(maj==v[i])nr++;

if(nr>n/2){g<<maj<<" "<<nr;}
else g<<-1;

    return 0;
}