File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed
Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ ``` java
2+ import java.util.* ;
3+ import java.io.* ;
4+
5+ public class Main {
6+ static int N , answer;
7+ static long [] arr;
8+ public static void main (String [] args ) throws IOException {
9+ BufferedReader br = new BufferedReader (new InputStreamReader (System . in));
10+ N = Integer . parseInt(br. readLine());
11+ arr = new long [N ];
12+ StringTokenizer st = new StringTokenizer (br. readLine());
13+ for (int i = 0 ; i < N ; i++ ) {
14+ arr[i] = Long . parseLong(st. nextToken());
15+ }
16+ Arrays . sort(arr);
17+ answer = 0 ;
18+ for (int i = 0 ; i < N ; i++ ) {
19+ twoPointer(i);
20+ }
21+ System . out. println(answer);
22+
23+ br. close();
24+ }
25+ private static void twoPointer (int targetIdx ) {
26+ long target = arr[targetIdx];
27+ int leftIdx = 0 ;
28+ int rightIdx = N - 1 ;
29+ while (leftIdx < rightIdx) {
30+ long sum = arr[leftIdx] + arr[rightIdx];
31+ if (target == sum) {
32+ if (leftIdx == targetIdx) {
33+ leftIdx++ ;
34+ } else if (rightIdx == targetIdx) {
35+ rightIdx-- ;
36+ } else {
37+ answer++ ;
38+ return ;
39+ }
40+ }
41+ else if (sum < target) {
42+ leftIdx++ ;
43+ } else {
44+ rightIdx-- ;
45+ }
46+ }
47+ }
48+
49+ }
50+ ```
You can’t perform that action at this time.
0 commit comments