Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<stdio.h>
- #include<bits/stdc++.h>
- using namespace std;
- long long binaryshort(long long a[],long long n,long long h)
- {
- long long high,low,mid;
- high=n;
- low=1;
- while(high>=low)
- {
- mid=(high+low)/2;
- if(a[mid]<h && h<=a[mid+1])
- {
- return a[mid];
- }
- else if(a[mid]<h)
- {
- low=mid+1;
- }
- else
- {
- high=mid-1;
- }
- }
- }
- long long binarytall(long long a[],long long n,long long h)
- {
- long long high,low,mid;
- low=1;
- high=n;
- while(high>=low)
- {
- mid=high+low/2;
- if(a[mid]>h && a[mid-1]<=h)
- {
- return a[mid];
- }
- else if(a[mid]>h)
- {
- high=mid-1;
- }
- else
- {
- low=mid+1;
- }
- }
- }
- int main()
- {
- long long n,i;
- cin>>n;
- long long a[n+5];
- a[0]=0;
- for(i=1;i<=n;i++)
- cin>>a[i];
- long long q;
- cin>>q;
- for(i=0;i<q;i++)
- {
- long long h,t,s;
- cin>>h;
- if(h>=a[n])
- t=0;
- else{
- t=binarytall(a,n,h);
- }
- s=binaryshort(a,n,h);
- if(t==0)
- {
- printf("%lld X\n",s);
- }
- else
- printf("%lld %lld\n",s,t);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment