Pagini recente » Cod sursa (job #1524937) | Cod sursa (job #1728660) | Cod sursa (job #712426) | Cod sursa (job #2408596) | Cod sursa (job #996045)
Cod sursa(job #996045)
#include <fstream>
void mooreMajority(long long *A, int length, std::ostream& out);
int main()
{
std::ifstream in("elmaj.in");
std::ofstream out("elmaj.out");
int length;
in >> length;
long long *Arr = new long long[length];
for(int i = 0; i < length; i++)
in >> Arr[i];
mooreMajority(Arr, length, out);
return 0;
}
void mooreMajority(long long *A, int length, std::ostream& out)
{
long long c;
int check = 0;
for(int i = 0; i < length; i++)
{
if(check == 0)
{
check = 1;
c = A[i];
}
else if(A[i] == c) check++;
else check--;
}
check = 0;
for(int i = 0; i < length; i++)
if(A[i] == c) check++;
if(check > length / 2)
out << c << ' ' << check;
else out << -1;
}