Pagini recente » Cod sursa (job #2072024) | Cod sursa (job #1482429) | Cod sursa (job #1482423) | Cod sursa (job #1469113) | Cod sursa (job #1428858)
#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f2("bac.txt");
vector <int>v2;
int n2,a,b;
class prob1
{
private:
int bin_search(int n2);
void citire();
public:
void rez1(vector<int>&v2);
};
void prob1::citire()
{
f2>>n2;
for(int i=1; i<=n2; i++)
{
int x;
f2>>x;
v2.push_back(x);
}
f2>>a>>b;
if(a>b)swap(a,b);
}
int prob1::bin_search(int n2)
{
size_t st=0,dr=n2-1,mij;
sort(v2.begin(),v2.end());
while(st<=dr)
{
mij=(st+dr)/2;
if(v2[mij]>=a&&v2[mij]<=b)return mij;
else if(v2[mij]>b)dr=mij-1;
else st=mij+1;
}
return -1;
}
void prob1::rez1(vector<int>&v2)
{
citire();
int BestPoz=bin_search(n2);
vector<int>::iterator fs,ls;
if(BestPoz>=0)
{
fs=v2.begin()+BestPoz;
for(ls=v2.end()-1; ls>=fs; ls--)
if(*ls>=a&&*ls<=b)
{
cout<<*ls;
break;
}
}
else cout<<"nu exista";
}
int main()
{
prob1 ob;
ob.rez1();
return 0;
}