Pagini recente » Cod sursa (job #1975330) | Cod sursa (job #223803) | Cod sursa (job #351219) | Cod sursa (job #2135515) | Cod sursa (job #2312277)
#include <fstream>
std::ifstream f("elmaj.in");
std::ofstream o("elmaj.out");
int v[1000002];
int get_maj_el(const int& n)
{
int nr_ap = 0, number = -1;
for(int i = 0; i < n; i++)
{
if(number == v[i])
nr_ap ++;
else
{
nr_ap --;
if(nr_ap < 0)
{
nr_ap = 1;
number = v[i];
}
}
}
int total = 0;
for(int i = 0; i < n; i++)
if(v[i] == number)
total ++;
if(total > n/2)
{
o << number << " " << total << '\n';
}
else
{
o << "-1\n";
}
return total > n / 2 ? number : -1;
}
int main() {
int n;
f >> n;
for(int i = 0; i < n; i++)
f >> v[i];
get_maj_el(n);
return 0;
}