Pagini recente » Cod sursa (job #2657737) | Cod sursa (job #2813107) | Cod sursa (job #2527226) | Cod sursa (job #3172360) | Cod sursa (job #3164861)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream input("elmaj.in");
ofstream output("elmaj.out");
int a[100000], dbmaj=0, i, N, temp;
input>>N;
for(i=0; i<N; i++){
input>>a[i];
}
int bal=0, jobb=1;
while(jobb<N){
if(a[bal]!=a[jobb]){
if(bal==0){
jobb=jobb+2;
bal=jobb-1;
} else {
jobb=jobb+1;
bal=bal-1;
}
} else {
jobb=jobb+1;
bal=jobb-1;
}
}
if(bal<=N) temp=a[bal];
else temp=a[bal-1];
for(i=0; i<N; i++){
if(a[i]==temp) dbmaj++;
}
if(dbmaj>=N/2+1) output<<temp<<" "<<dbmaj;
else output<<-1;
return 0;
}