Cod sursa(job #1890353)
Utilizator | Data | 23 februarie 2017 11:08:38 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <fstream>
std::ifstream f("elmaj.in");
std::ofstream g("elmaj.out");
int a[1000005], i=1, j, n, maj=-1, nm;
int main() {
f>>n;
for(;i<=n;i++) {
f>>a[i];
nm+=(maj==a[i]?1:-1);
if (nm<=0)
maj=a[i],nm=1;
}
for(i=1,nm=0;i<=n;i++)
nm+=(a[i]==maj);
if(nm>n/2)
g<<maj<<' '<<nm;
else g<<-1;
}