알고리즘
[Java] SWEA - Spot Mart
J3SUNG
2023. 2. 14. 22:23
728x90
들 수 있는 무게가 주어지고 최대 2개 들 수 있을 때 최대 들 수 있는 무게량을 구하는 문제입니다.
2차원 for문을 사용해서 모든 경우를 탐색한 후 가장 큰 무게값을 출력해주었습니다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
class Solution {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int t = Integer.parseInt(br.readLine());
for(int tc=0; tc<t; ++tc) {
int ans = 0;
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] arr = new int[n];
st = new StringTokenizer(br.readLine());
for(int i=0; i<n; ++i) {
arr[i] = Integer.parseInt(st.nextToken());
}
for(int i=0; i<n; ++i) {
for(int j=i+1; j<n; ++j) {
if(m >= arr[i] + arr[j]) {
ans = Math.max(ans, arr[i] + arr[j]);
}
}
}
ans = ans==0?-1:ans;
bw.write("#" + (tc+1) + " " + ans + "\n");
}
bw.close();
}
}