Cod sursa(job #2956030)
| Utilizator | Data | 18 decembrie 2022 15:24:12 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-32 | Status | done |
| Runda | cnsh_16_12 | Marime | 0.7 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
unsigned long long n, i, candidate, cnt, c, a[1000002];
int main()
{
f >> n;
for(i = 1; i <= n; i++)
f >> a[i];
for(i = 1; i <= n; i++)
{
if(c == 0)
candidate = a[i], c++;
else if(candidate == a[i])
c++;
else
c--;
}
if(c == 0)
g << -1;
else
{
for(i = 1; i <= n; i++)
if(a[i] == candidate)
cnt++;
if(cnt > n / 2)
g << candidate << " " << cnt;
else
g << -1;
}
return 0;
}
