fork download
  1. import java.io.IOException;
  2. import java.util.*;
  3.  
  4. public class Main {
  5. public static void main(String[] args) throws IOException {
  6. Scanner in = new Scanner(System.in);
  7. int num = in.nextInt();
  8. int M = in.nextInt();
  9. int round = num/2 + 1; //총 도는 횟수
  10. int[] arr = new int[num];
  11. ArrayList<Integer> maxArr = new ArrayList<>();
  12. for(int i = 0; i < num; i++){
  13. arr[i] = in.nextInt();
  14. }
  15. // 앞에서 3개씩 경우의 수 maxArr에 add 567, 568 , 569 578, 579 ...
  16. for(int k = 0; k < round; k++) {
  17. for (int j = 1+k; j < round + 1; j++) {
  18. for (int m = 1 + j; m < num; m++) {
  19. int one = arr[k];
  20. int two = arr[j];
  21. int three = arr[m];
  22. maxArr.add(one + two + three);
  23. }
  24. }
  25. }
  26. Collections.sort(maxArr); //경우의 수 정렬
  27. int max = 0; //최대값이랑 사용자가 입력한 값 비교
  28. for(int z = 0; z < maxArr.size(); z++){
  29. if(maxArr.get(z) <= M){
  30. max = maxArr.get(z);
  31. }else{
  32. break;
  33. }
  34. }
  35. System.out.println(max);
  36. }
  37. }
  38.  
Success #stdin #stdout 0.15s 56628KB
stdin
7 18
1 2 3 4 5 6 7
stdout
16