Cod sursa(job #2672760)
| Utilizator | Data | 14 noiembrie 2020 17:52:59 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int v[1000001], x, n, nx;
int main()
{
fin>>n;
for (int i=1; i<=n; i++)
fin>>v[i];
for (int i=1; i<=n; i++)
{
if (x==0) {x++; nx=v[i];}
else if (nx!=v[i]) x--;
else x++;
}
if (x==0) {fout<<-1; return 0;}
else
{
x=0;
for (int i=1; i<=n; i++)
{
if (v[i]==nx) x++;
}
if (x>n/2) {fout<<nx<<' '<<x; return 0;}
else {fout<<-1; return 0;}
}
return 0;
}
