Cod sursa(job #642111)
| Utilizator | Data | 30 noiembrie 2011 16:18:42 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
using namespace std;
const int SIZE = 1000000;
int N, A[SIZE];
int element, number;
int main()
{
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
fin >> N;
for (int i = 1; i <= N; ++i)
{
fin >> A[i];
if (element == A[i] || number == 0) ++number, element = A[i];
else --number;
}
number = 0;
for (int i = 1; i <= N; ++i)
number += (A[i] == element);
if (number > N / 2)
fout << element << ' ' << number;
else
fout << -1;
fin.close();
fout.close();
}
