Cod sursa(job #1092124)
Utilizator | Marius Nicoli mariusn01 | Data | 26 ianuarie 2014 16:39:44 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
using namespace std;
int v[1000002];
int n, nr, elm, i;
int main() {
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
fin>>n;
elm = -1;
nr = 0;
for (i=1;i<=n;i++) {
fin>>v[i];
if (nr == 0) {
nr++;
elm = v[i];
} else
if (v[i] == elm)
nr++;
else
nr--;
}
nr = 0;
for (i=1;i<=n;i++)
if (elm == v[i])
nr++;
if (nr >= n/2+1)
fout<<elm<<" "<<nr<<"\n";
else
fout<<"-1\n";
return 0;
}