Cod sursa(job #2949764)
Utilizator | Data | 1 decembrie 2022 17:16:14 | |
---|---|---|---|
Problema | Cautare binara | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream F("cautbin.in");
ofstream G("cautbin.out");
int n,a[100000],i,y;
int main()
{
for(F>>n;i<n;F>>a[i++]);
for(F>>y;F>>i>>y;)
if(!i) {
auto j=upper_bound(a,a+n,y)-a;
G<<(j<0||j>=n||a[j]!=y?-1:j)<<'\n';
} else
i==1?G<<upper_bound(a,a+n,y)-a<<'\n':G<<lower_bound(a,a+n,y)-a+1<<'\n';
return 0;
}