Pagini recente » Cod sursa (job #666518) | Cod sursa (job #276717) | Cod sursa (job #2140706) | Cod sursa (job #49247) | Cod sursa (job #1289454)
#include <iostream>
#include <fstream>
#include <stack>
std::ifstream f("elmaj.in");
std::ofstream g("elmaj.out");
int n, a[1000005];
std::stack<int> s;
int main()
{
f >> n;
for (int i = 1; i <= n; i++) {
f >> a[i];
}
for (int i = 1; i <= n; i++) {
if (s.empty()) { s.push(a[i]); continue; }
if (a[i] == s.top()) { s.push(a[i]); continue; }
if (a[i] != s.top()) { s.pop(); continue; }
}
if (s.empty()) {
g << -1 << std::endl;
f.close();
g.close();
return 0;
}
int el = s.top(), nap = 0;
for (int i = 1; i <= n; i++) {
if (a[i] == el) nap++;
}
if (nap >= n / 2 + 1) g << el << ' ' << nap << std::endl;
else g << -1 << std::endl;
f.close();
g.close();
return 0;
}