Untitled

 avatar
unknown
python
2 years ago
1.5 kB
6
Indexable
#bài 4
from sys import stdin, stdout

def operation(ds):
    while True:
        operator = []
        while len(operator) == 0:
            operator = list(map(int, stdin.readline().strip().split()))


        if operator[0]==1:
            ds[operator[1]]=1

        elif operator[0]==2:
            if operator[1] in ds:
                stdout.write("1\n")
            else:
                stdout.write("0\n")

        elif operator[0]==3:
           if operator[1] in ds:
                ds.pop(operator[1])

        elif operator[0] == 0:
            return

ds= {}
operation(ds)

#bài 2

import bisect
from sys import stdin

def k_array(ds, k, x):
    loc = bisect.bisect_left(ds,x)
    if k >= len(ds):
        return ds[0], ds[-1]
    if loc==len(ds):
        loc -= 1
    l, r = loc, loc+1
    i=0
    while i<k:
        if l<0:
            l=-1
            r=k
            break
        elif r >=len(ds):
            r = len(ds)
            l = r-1-k
            break
        else:
            if ( x- ds[l] ) <= (ds[r]-x):
                l-=1
            else:
                r+=1
        i+=1
    return ds[l+1], ds[r-1]


n = int(input())
ds = list(map(int,stdin.readline().strip().split()))
k,x=[],[]
try:
    while True:
        temp_k, temp_x = map(int, input().split())
        #temp1=k_array(ds,temp_k, temp_x)
        k.append(temp_k),x.append(temp_x)
except:
    pass

for index, num in enumerate(x):
    temp1 = k_array(ds, k[index], num)
    print(temp1[0], temp1[-1])
Editor is loading...