Cod sursa(job #2459169)
| Utilizator | Data | 22 septembrie 2019 11:29:02 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <fstream>
using namespace std;
int n, v[1000000];
int main(){
ifstream fin ("elmaj.in");
fin >> n;
for (int i=0; i<n; i++)
fin >> v[i];
fin.close();
int el, ap;
el=-1; ap=0;
for (int i=0; i<n; i++){
if (ap==0){
el=v[i];
ap=1;
}
else if (v[i]==el)
ap++;
else
ap--;
}
ap=0;
for (int i=0; i<n; i++)
if (v[i]==el)
ap++;
if (ap<=n/2)
el=-1;
ofstream fout ("elmaj.out");
fout << el;
if (el!=-1)
fout << ' ' << ap;
fout.close();
return 0;
}
