Pagini recente » Cod sursa (job #688930) | Diferente pentru problema/arbquery intre reviziile 7 si 6 | Cod sursa (job #464880) | Cod sursa (job #2803487) | Cod sursa (job #3316360)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
vector<int> v;
int element_major(vector<int> v,int n,int &c,int &cand)
{
int i,ver=0;
for(i=0;i<v.size();i++)
{
if(c==0)
{
cand=v[i];
c=1;
}
else if(cand==v[i]) c++;
else c--;
}
for(i=0;i<v.size();i++)
{
if(cand==v[i]) ver++;
}
if(ver<=n/2) return -1;
c=ver;
return 1;
}
int main()
{
int n,i,x,c=0,cand=0;
fin>>n;
for(i=1;i<=n;i++)
{
fin>>x;
v.push_back(x);
}
if(element_major(v,n,c,cand)==-1) fout<<-1;
else fout<<cand<<" "<<c;
return 0;
}