Cod sursa(job #1640495)
| Utilizator | Data | 8 martie 2016 17:59:52 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main(){
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n, a[1000001], c = -1, nr = 0;
fin>>n;
for(int i = 1; i <= n; i++){
fin>>a[i];
if(c == -1) c = a[i];
if(a[i] == c){
nr++;
}else if(a[i] != c){
nr--;
}
if(nr == 0){
c = a[i];
nr = 1;
}
}
nr = 0;
for(int i = 1; i <= n; i++){
if(a[i] == c)
nr++;
}
if(nr >= n / 2 + 1)
fout<<c<<" "<<nr;
else
fout<<-1;
fin.close();
fout.close();
return 0;
}
