Pagini recente » Cod sursa (job #987015) | Cod sursa (job #487198) | Cod sursa (job #1853443) | Cod sursa (job #2469148) | Cod sursa (job #1069049)
#include <fstream>
using namespace std;
ifstream in("elmaj.in");
ofstream out("elmaj.out");
const int NMAX = 1000002;
unsigned int V[NMAX];
unsigned int N;
pair<unsigned int,unsigned int> elMaj(){
unsigned int counter = 0, value;
unsigned int i;
for(i = 0; i < N; i++){
if(counter == 0){
value = V[i];
counter = 1;
}
else if(V[i] == value){
counter ++;
}
else {
counter--;
}
}
for(i = 0, counter = 0; i < N; i++){
if(V[i] == value)
counter ++;
}
if(counter > N/2){
return make_pair(value,counter);
}
else return make_pair(0,0);
}
int main()
{
in >> N;
for(unsigned int i = 0; i < N; i++)
in >> V[i];
pair<unsigned int, unsigned int> elmaj = elMaj();
if(elmaj.second)
out << elmaj.first << ' ' << elmaj.second << '\n';
else out << "-1\n";
return 0;
}