Pagini recente » Cod sursa (job #2984974) | Cod sursa (job #2971449) | Utilizatori inregistrati la PreOJI 2017 | Cod sursa (job #3281054) | Cod sursa (job #1289784)
#include<fstream>
#include<iostream>
#include<vector>
using namespace std;
void read_data(int &N, vector<int> &vec)
{
ifstream f("elmaj.in");
f>>N;
vec.resize(N);
for(int i=1; i <= N;++i)
f>>vec[i-1];
f.close();
}
void solve(const vector<int> &vec, int &count, int &sol)
{
sol = vec[0];
int times = 1;
for(int i=1; i < vec.size(); ++i)
{
if(vec[i] != sol)
{
--times;
if(times == 0)
{
sol = vec[i];
times = 1;
}
} else
++times;
}
count = 0;
for(int i=0; i < vec.size(); ++i)
count += (vec[i] == sol);
if(count <= vec.size()/2)
sol = -1;
}
int main()
{
int N;
vector<int> vec;
read_data(N, vec);
int sol, count;
solve(vec, count, sol);
ofstream g("elmaj.out");
if(sol == -1)
g<<"-1\n";
else
g<<sol<<" "<<count<<"\n";
g.close();
return 0;
}