Pagini recente » Cod sursa (job #2951976) | Cod sursa (job #1399753) | Cod sursa (job #2710446) | Cod sursa (job #3144538) | Cod sursa (job #2931106)
#include<fstream>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<climits>
#include<iomanip>
#include<cstring>
#include<bitset>
#define MAX 1000000
using namespace std;
ifstream f("elmaj.in");
ofstream g("elmaj.out");
//ifstream f("in.in");
//ofstream g("out.out");
int v[MAX+5],s[MAX+5];
int n;
int st,dr,poz1,poz2,mij;
int main(){
f>>n;
for(int i=1;i<=n;i++){
f>>v[i];
s[i] = v[i];
}
sort(s+1,s+n+1);
for(int i=1;i<=n;i++){
///gaseste capat stanga
st=1;dr=n;
while(st<=dr){
mij = (st+dr)/2;
if(s[mij]>=v[i]){
poz1 = mij;
dr = mij-1;
}else{
st = mij+1;
}
}
///gaseste capat dreapta
st=1;dr=n;
while(st<=dr){
mij = (st+dr)/2;
if(s[mij]<=v[i]){
poz2 = mij;
st = mij+1;
}else{
dr = mij-1;
}
}
if(poz2-poz1+1 >= n/2+1){
g<<v[i]<<" "<<poz2-poz1+1;
f.close();
g.close();
return 0;
}
}
g<<-1;
f.close();
g.close();
return 0;
}