При сортировке, а затем нахождении суммы, равной заданной константе, предоставленной во входных данных, для большого числа элементов массива происходит прекращение из-за истечения времени ожидания.
import java.io.*;
public class Solution {
// Complete the maximumToys function below.
static int maximumToys(int[] arr, int k) {
int temp = 0;int sum =0;int counter =0;
for(int j=0;j<arr.length;j++)
{
for(int i=0;i<arr.length-1-j;i++)
{
if(arr[i] > arr[i+1])
{
temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}
}
for(int i=0;i<arr.length;i++)
{
sum = sum + arr[i];
if(sum >= k)
break;
else
counter++;
}
return counter;
}
public static void main(String[] args) throws IOException {
String line, strs[];
int arr[];
int len;
int k;
int toys;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
line = br.readLine();
strs = line.trim().split("\\s");
len = Integer.parseInt(strs[0]);
k = Integer.parseInt(strs[1]);
arr = new int[len];
line = br.readLine();
strs = line.trim().split("\\s");
for (int i = 0; i < len; i++) {
arr[i] = Integer.parseInt(strs[i]);
}
toys = maximumToys(arr, k);
System.out.println(toys);
}
}
ожидаемый результат - мой вывод фактическийрезультат - прекращен из-за тайм-аута