Cod sursa(job #2612818)
| Utilizator | Data | 9 mai 2020 13:00:49 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.61 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("elmaj.in");
ofstream fout ("elmaj.out");
int v[1000001];
int main() {
int n, i;
int c, av, nrvoturi =0;
fin>>n;
fin>>v[1]; av=1; c=v[1];
for(int i=2; i<=n;i++) {
fin>>v[i];
if (v[i]==c) ++av;
else {
if (av>0) --av;
else {
c=v[i];
av=1;
}
}
}
for (int i=1; i<=n; ++i) {
if (v[i]==c) ++nrvoturi;
}
if (nrvoturi>n/2) fout << c << " " << nrvoturi;
else fout << "-1";
return 0;
}
