File tree Expand file tree Collapse file tree 1 file changed +52
-0
lines changed
Expand file tree Collapse file tree 1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.io.BufferedReader ;
3+ import java.io.IOException ;
4+ import java.io.InputStreamReader ;
5+ import java.util.Arrays ;
6+ import java.util.StringTokenizer ;
7+
8+ public class Main {
9+ public static void main (String [] args ) throws IOException {
10+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
11+ int t = Integer . parseInt(br. readLine());
12+ StringBuilder sb = new StringBuilder ();
13+ while (t-- > 0 ) {
14+ StringTokenizer st = new StringTokenizer (br. readLine());
15+ int n = Integer . parseInt(st. nextToken());
16+ int K = Integer . parseInt(st. nextToken());
17+ int [] arr = new int [n];
18+ st = new StringTokenizer (br. readLine());
19+ for (int i = 0 ; i < n; i++ ) {
20+ arr[i] = Integer . parseInt(st. nextToken());
21+ }
22+
23+ Arrays . sort(arr);
24+ int l = 0 ;
25+ int r = n - 1 ;
26+ int minDiff = Integer . MAX_VALUE ;
27+ int count = 0 ;
28+
29+ while (l < r) {
30+ int sum = arr[l] + arr[r];
31+ int diff = Math . abs(K - sum);
32+
33+ if (diff < minDiff) {
34+ minDiff = diff;
35+ count = 1 ;
36+ } else if (diff == minDiff) {
37+ count++ ;
38+ }
39+ if (sum < K ) {
40+ l++ ;
41+ } else {
42+ r-- ;
43+ }
44+ }
45+ sb. append(count). append(" \n " );
46+ }
47+
48+ System . out. print(sb);
49+ }
50+ }
51+
52+ ```
You can’t perform that action at this time.
0 commit comments