๋ฌธ์ 

https://www.acmicpc.net/problem/9024
๋ฌธ์ ํ์ด
num ๋ฐฐ์ด์ ์ ๋ ฌํ๊ณ k๊ฐ ๋ณด๋ค ํฐ์ง ์๋์ง ๋น๊ตํด๊ฐ๋ฉด์ ์ด๋ถํ์์ ์งํํ๋ค.
๊ทธ ๊ฐ์ด k๋ณด๋ค ํฌ๋ฉด mid-1 ๊ฐ์ r๋ก ์ค์ ํด์ฃผ๊ณ
์์ผ๋ฉด min+1 ๊ฐ์ l๋ก ์ค์ ํด์ค๋ค.
k์ ๋ ์์ ํฉ์ ์ฐจ์ด๊ฐ mini ๊ฐ๋ณด๋ค ์์ผ๋ฉด mini ๊ฐ์ ์๋ฐ์ดํธ ํด์ฃผ๊ณ cnt=1๋ก ์ด๊ธฐํํ๋ค.
mini ๊ฐ๊ณผ ๊ฐ์ผ๋ฉด cnt+=1์ ํด์ค๋ค.
์ฝ๋
import sys
input=sys.stdin.readline
t=int(input())
for i in range(t):
    n,k=map(int,input().split())
    num=list(map(int,input().split()))
    num.sort()
    mini=200000000
    for j in range(n):
        l=j+1
        r= n-1
        while(l<=r):
            mid=(l+r)//2
            s=num[j]+num[mid]
            if(s>k):
                r=mid-1
            else:
                l=mid+1
            if(abs(k-s)<mini):
                cnt=1
                mini=abs(k-s)
            elif(abs(k-s)==mini):
                cnt+=1
    print(cnt)
'๐ป ์๊ณ ๋ฆฌ์ฆ > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [๋ฐฑ์ค/BOJ] 1449 ์๋ฆฌ๊ณต ํญ์น - ํ์ด์ฌ (0) | 2022.05.08 | 
|---|---|
| [2017 ์นด์นด์ค์ฝ๋ ์์ ] ์ปฌ๋ฌ๋ง๋ถ - ํ์ด์ฌ (0) | 2022.03.16 | 
| [BOJ/๋ฐฑ์ค] 20041 Escaping - ์๋ฐ,ํ์ด์ฌ (2) | 2021.10.08 | 
| [BOJ/๋ฐฑ์ค] 20047 ๋์  ์ฎ๊ธฐ๊ธฐ - ์๋ฐ (5) | 2021.10.05 | 
| [BOJ/๋ฐฑ์ค] 19538 ๋ฃจ๋จธ - ํ์ด์ฌ (0) | 2021.09.17 |