Дейстително или не разбирам правилно задачата или не си намирам грешката, малко помощ няма да е в излишък. https://pastebin.com/26QcHunv Системата ми върща грешка. По принцип System.out.println(numbersK); го няма в кода когато го проверявам .
" Следователно само числата по - голями от К то тогава може да бъде използвано за крайния резултат. Също така се вземат К - на брой числа и се събират като всички числа трябва да бъдат по - малки от N при което N трябва да е < 1024 не мога да разбера защо ми връща грешка след като съм спазил тея правила ,и ми връща правилен резултат на тест 1 но после връща грешки на 2…9"
Здравей,
според мен правиш някакви сложни неща, а по условие се иска нещо по-просто.
На първия ред числото n означава само колко елемента ще ти се подадат в array-a, който ще си направиш. Примерно int[] elements = new int[n];
К означава единствено колко елемента можеш да вземеш от горния array, за да ги събереш, така че да получиш максимален резултат.
Ограниченията, които са ти подадени просто обозначават границите на К и N, които ще ти подават в инпута - т.е. няма нужда да ги валидираш изрично (и без това не е посочено какво да се случва, ако валидацията не мине).
примерно 1 <= K <= N - т.е. броят на елементите, които трябва да събираш ще е поне 1 и със сигурност ще е най много = на броя на елементите в масива. (тъй като не е упоменато, че можеш да събираш едно и също число 2 пъти, това ограничение така или иначе е логично)
Пробвай с някакъв елементарен примерен вход :
5 -----> N
2 -----> K
1
-90
5
6
0
=> Т.е: Ще ти се подадат 5 числа. Трябва да видиш кои 2 от тях да събереш, така че резултатът да е максимално голям.
тук отговорът е 11 - ако събираш 5 и 6.
Успех!