Cod sursa(job #3288422)
| Utilizator | Data | 22 martie 2025 11:12:02 | |
|---|---|---|---|
| Problema | Elementul majoritar | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
int n,k,x,cate=-1,v[1000010],nr;
int main() {
f>>n;
for(int i=1; i<=n; i++) {
f>>x;
v[i]=x;
}
for(int i=1; i<=n; i++) {
if(k==0) {
cate=v[i];
k++;
} else if(cate==v[i]) {
k++;
} else {
k--;
}
}
if(cate<0) {
g<<-1;
return 0;
}
for(int i=1; i<=n; i++) {
if(v[i]==cate) {
nr++;
}
}
if(nr>=n/2+1) {
g<<cate<<' '<<nr;
} else {
g<<-1;
}
f.close();
g.close();
return 0;
}
