반응형
https://www.acmicpc.net/problem/6159
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞은 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 128 MB | 477 | 277 | 225 | 62.849% |
문제
한 농부가 할로윈 파티에 그의 소들을 데려가려고한다. 아쉽게도 농부에게는 코스튬이 한벌밖에 없다. 그 코스튬에는 정확하게 사이즈는 S(1 <= S <= 1,000,000)이며, 최대 소 두마리가 들어간다. 농부는 N(2 <= N <= 20,000)마리의 소가 있으며(소의 이름은 편의상 소1.. 소N으로한다), 소i의 사이즈는 (1 <= L_i <= 1,000,000)이다. 만약 소 두마리의 크기 합이 코스튬의 크기 이하인 경우 둘이 코스튬에 들어갈 수 있다. 농부가 코스튬에 얼마나 많은 서로 다른 소의 짝이 들어가는지 구할수있도록 도와주자.
입력
첫째 줄에는 정수 N(소의 수)과 S(코스튬의 크기)가 주어진다.
둘째 줄부터는 각 줄에 소들의 크기가 주어진다.
출력
첫째 줄에 얼마나 많은 짝이 가능한지 출력한다.
예제 입력 1
4 6
3
5
2
1
예제 출력 1
4
코드
/**
* BOJ 6159 코스튬 파티 : Silver 4
* 투포인터?
*/
import java.io.*;
import java.util.*;
public class p6159 {
static int n, s;
static int[] arr;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
s = Integer.parseInt(st.nextToken());
arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
Arrays.sort(arr);
// 1 2 3 5
int answer = 0;
for (int i = 0; i < n - 1; i++) {
int sum = arr[i];
for (int j = i + 1; j < n; j++) {
if (sum + arr[j] <= s) {
answer++;
} else {
break;
}
}
}
System.out.println(answer);
}
}
반응형
'알고리즘 > [ Baekjoon ]' 카테고리의 다른 글
[ BOJ ][JAVA][1484] 다이어트 (0) | 2021.11.02 |
---|---|
[ BOJ ][JAVA][16953] A -> B (0) | 2021.11.02 |
[ BOJ ][JAVA][16943] 숫자 재배치 (0) | 2021.10.28 |
[ BOJ ][JAVA][9461] 파도반 수열 (0) | 2021.10.28 |
[ BOJ ][JAVA][20665] 독서실 거리두기 (0) | 2021.10.27 |