Cod sursa(job #2658795)
Utilizator | antonia onisoru Antonia_onisoru | Data | 15 octombrie 2020 09:04:21 |
---|---|---|---|
Problema | Elementul majoritar | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.68 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
long long v[1000000];
int main()
{
long long maj;
int n, apar, i;
in>>n>>v[0];
maj = v[0];
apar = 1;
for( i = 1; i < n; i++ ){
in>>v[i];
if( apar == 0 ){
maj = v[i];
}
if( maj == v[i] ){
apar++;
}
else{
apar--;
}
}
apar = 0;
for( i = 0; i < n; i++ ){
if( maj == v[i] )
apar++;
}
if( apar >= n / 2 + 1 )
out<<maj<<" "<<apar;
else
out<<"-1";
return 0;
}