Cod sursa(job #3262036)
| Utilizator | Data | 8 decembrie 2024 14:03:15 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int ct, nr = 0, n, x[1000001];
int main()
{
fin >> n;
for(int i = 1; i <= n; i++)
{
fin >> x[i];
if(nr != x[i])
{
if(ct == 0)
nr = x[i], ct = 1;
else ct--;
}
else
ct++;
}
ct = 0;
for(int i = 1; i <= n; i++)
if(x[i] == nr)
ct++;
if(ct >= (n / 2) + 1)
fout << nr << " " << ct;
else fout << -1;
return 0;
}
