Cod sursa(job #662334)
Utilizator | Bogdan Beldea beldeabogdan | Data | 16 ianuarie 2012 15:47:15 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,i,c,v[1000005],nr;
int main() {
f>>n;
for (i=1;i<=n;i++) f>>v[i];
for (i=1;i<=n;i++) {
if (nr<=0) {
c=i;
nr=1;
}
else {
if (v[i]==v[c]) nr++;
else nr--;
}
}
if (nr<=0) {
g<<-1;
return 0;
}
nr=0;
for (i=1;i<=n;i++) if (v[i]==v[c]) nr++;
if (nr>n/2) g<<v[c]<<" "<<nr;
else g<<-1;
return 0;
}