Cod sursa(job #1096823)

Utilizator vyrtusRadu Criuleni vyrtus Data 2 februarie 2014 17:14:01
Problema Elementul majoritar Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>

using namespace std;

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

long n, a[1000000];
long num, power;

int main()
{
        f >> n;
         for (int i=0;i<n;i++)
            f >> a[i];

     num = a[0]; power = 1;
     for (int i=1;i<n;i++)
     {
        if (a[i] != num) power--;
        if (!power) {num = a[i]; power = 1; }
     }

     int ind = 0;
     for (int i=0;i<n;i++)
        if (a[i] == num) ind++;

     if (ind > (n/2)) g << num << ' ' << ind; else g << "-1";
    return 0;
}