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