Cod sursa(job #1096829)

Utilizator vyrtusRadu Criuleni vyrtus Data 2 februarie 2014 17:18:56
Problema Elementul majoritar Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 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 (long i=0;i<n;i++)
            f >> a[i];

     num = a[0]; power = 1;

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

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

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