Cod sursa(job #3205228)
Utilizator | Andrei Preda amavutsiviata | Data | 19 februarie 2024 09:34:07 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
using namespace std;
ifstream cin("elmaj.in");
ofstream cout("elmaj.out");
int v[1000000], i, n, k, cd = -1;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n;
for (i = 0; i < n; i++)
{
cin >> v[i];
if (k == 0)
{
k = 1;
cd = v[i];
}
else if (v[i] == cd) k++;
else k--;
}
k = 0;
for (i = 0; i < n; i++)
{
if (v[i] == cd) k++;
}
if (k >= n / 2 + 1) cout << cd << ' ' << k;
else cout << -1;
}