Тема: Алготестер задача №0877. Мінімальні вигуки. Проста задача, але ...
https://algotester.com/uk/ArchiveProble … File/40463
Задача ніби проста, але на 10 прикладі ліміт часу і я не уявляю, як можна оптимізувати програму.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
new Vau();
}
}
class Vau{
public Vau(){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
// умова каже, що числа належать відрізку [1;10^9], тому мінімуму присвоюємо значення 10^9+1,
// щоб перше число було менше за мінімум і він скрикнув "вау"
int min = 1_000_000_001;
int result = 0;
for (int i = 0; i < n; i++){
//вводи число
int input = in.nextInt();
//якщо число менше за мінімум, то отримуємо новий мінімум і результат збільшуємо на 1
if (input <= min) {
result++;
min = input;
}
}
System.out.println(result);
}
}
І намагався з масивом, але результату це не дало.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
new Vau();
}
}
class Vau{
public Vau(){
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] arr = new int[n];
int i_minimal_element = 0 , result = 0;
for (int i = 0; i < n ; i++){
arr[i] = in.nextInt();
if (arr[i] <= arr[i_minimal_element] ){
i_minimal_element = i;
result++;
}
}
System.out.println(result);
}
}
Буду щиро вдяний за допомогу!