Cod sursa(job #643403)
Utilizator | Data | 3 decembrie 2011 17:33:17 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
using namespace std;
long n, i, t, num, sol, v[1000010];
int main() {
ifstream f("elmaj.in");
ofstream h("elmaj.out");
f>>n;
for (i = 1; i <= n; ++i) {
f>>v[i];
if (t == 0 || num == v[i]) {
num = v[i];
++t;
} else --t;
}
for (i = 1; i <= n; ++i) if (v[i] == num) ++sol;
if (sol > n / 2) h<<num<<" "<<sol;
else h<<"-1";
return 0;
}