Pagini recente » Monitorul de evaluare | Cod sursa (job #863244) | Cod sursa (job #833874) | Cod sursa (job #1371504) | Cod sursa (job #2415952)
//ALEX ENACHE
#include <vector>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <unordered_map>
#include <time.h>
#include <iomanip>
#include <deque>
#include <math.h>
#include <cmath>
#include <assert.h>
#include <stack>
#include <bitset>
#include <random>
#include <chrono>
using namespace std;
//-------------------------------------------------------------------
//#include <iostream>
#include <fstream>
ifstream cin ("elmaj.in");ofstream cout ("elmaj.out");
int v[1000100];
int main() {
//freopen("input", "r", stdin);freopen("output", "w", stdout);
int n;
cin>>n;
int cont = 1; //de cate ori apare - de cate ori apar celelalte
int val = 0; //valoarea mjoritara de pana acum
for (int i=1; i<=n; i++){
cin>>v[i];
if (v[i] == val){
cont++;
}
else{
cont--;
if (cont == 0){
val = v[i];
cont = 1;
}
}
//cout<<val<<" "<<cont<<'\n';
}
cont = 0;
for (int i=1; i<=n; i++){
if (v[i] == val){
cont++;
}
}
if (cont >= n/2 + 1){
cout<<val<<" "<<cont;
}
else{
cout<<-1;
}
return 0;
}