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