Pagini recente » Cod sursa (job #2953693) | Cod sursa (job #1553819) | Cod sursa (job #215063) | Cod sursa (job #158166) | Cod sursa (job #2070247)
#include<fstream>
using namespace std;
int v[1000001];
void addToPretendents (int value, int ¤tPretendent, int & noOfAparition)
{
if (currentPretendent == value)
++noOfAparition;
else if (noOfAparition <= 1)
currentPretendent = value;
else --noOfAparition;
}
int main()
{
ifstream fin("elmaj.in");
ofstream fout("elmaj.out");
int n;
int noOfAparition = 0;
int pretendent = 0;
fin >> n;
for (int i = 1; i <= n; ++i)
{
fin >> v[i];
addToPretendents (v[i], pretendent, noOfAparition);
}
noOfAparition = 0;
for (int i = 1; i<=n; ++i)
noOfAparition += (v[i] == pretendent);
if (noOfAparition >= n / 2 + 1)
fout << pretendent << ' ' << noOfAparition;
else fout << -1;
return 0;
}