Cod sursa(job #1540709)

Utilizator sulzandreiandrei sulzandrei Data 3 decembrie 2015 08:56:36
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
#define N_MAX 1000003
int v[N_MAX],i,a,b,n;
int main()
{

   in>>n;
   for(int i = 0 ; i < n ;i ++)
        in>>v[i];
   a = v[0];
   b = 1;
   for(int i = 1 ; i < n ; i++)
   {
       if (b == 0)
       {
           a = v[i];
           b = 1;
       }
       else
       {
           if(a == v[i])
                b++;
           else
                b--;
       }
   }
   int nr = 0;
   for(int i =  0 ; i < n ; i++)
        if(v[i] == a)
            nr++;
   if(nr >= n/2+1)
        out<<a<<" "<<nr;
   else
        out<<"-1";
    return 0;
}