Pagini recente » Cod sursa (job #1535286) | Cod sursa (job #838237) | Cod sursa (job #392247) | Cod sursa (job #2467376) | Cod sursa (job #2251049)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("elmaj.in");
ofstream fout ("elmaj.out");
unsigned int x, n, i, ap, maj;
vector<unsigned int> v;
int main()
{
fin >> n;
for(i=0; i<n; i++)
{
fin >> x;
v.push_back(x);
}
maj=v[0]; ap=1;
for(i=1; i<n; i++)
{
if(v[i] == maj)
ap++;
else if(v[i]!=maj)
ap--;
else if(ap < 0)
{
maj = v[i];
ap = 1;
}
}
int nr = 0;
for(i=0; i<n && nr<n/2+1; i++)
if(v[i] == maj)
nr++;
if(nr>=n/2+1)
fout << maj << ' ' << nr;
else fout << "-1";
return 0;
}