Cod sursa(job #1096823)
Utilizator | Radu 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;
}