Cod sursa(job #2502377)
Utilizator | Data | 30 noiembrie 2019 18:57:48 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.65 kb |
#include <bits/stdc++.h>
#define NMAX 1000001
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
void sortMajority(int n, int v[]) {
sort(v + 1, v + n + 1);
int i = 0, afisat = 0;
while (i < n) {
int j = i;
while (j < n && v[j + 1] == v[i])
j++;
if (j - i + 1 > n / 2) {
afisat = 1;
fout << v[i] << ' ' << j - i + 1;
}
i = j + 1;
}
if (afisat == 0)
fout << -1;
}
int main() {
int i, n, v[NMAX];
fin >> n;
for (i = 1; i <= n; i++)
fin >> v[i];
sortMajority(n, v);
return 0;
}