Cod sursa(job #3165705)
Utilizator | Data | 6 noiembrie 2023 19:28:59 | |
---|---|---|---|
Problema | Elementul majoritar | Scor | 30 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream in("elmaj.in");
ofstream out("elmaj.out");
int k,x,n,db=1;
in>>n;
in>>k;
while (n>1) {
in>>x;
if (db==0) {
k=x;
db=1;
}
else {
if (k==x) db++;
else {
db--;
k=x;
}
}
n--;
}
in.close();
ifstream ein ("elmaj.in");
ein>>n;
db=0;
for (int i=1;i<=n;i++) {
ein>>x;
if (x==k) db++;
}
if (db>=(n/2+1)) out<<k<<" "<<db;
else out<<-1;
ein.close();
out.close();
return 0;
}