Постановка задачи:Как напечатать количество отрицательных подмассивов из заданного массива?
Учитывая массив из п целых чисел, найти и распечатать его количество отрицательных подмассивов на новой линии (A подмассив является отрицательным, если общая сумма его элементов является отрицательным.)
.Пример ввода
1 -2 4 -5 1
Пример вывода
Результат, что мой код дает
ввода (STDIN)
1 -2 4 -5 1
Ваш выход (stdout)
Ожидаемый результат
Компилятор Сообщение
Неправильный ответ
Мой код:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int a[] = new int[n];
int b[] = new int[n];
int count=0;
int i,j,sum = 0;
for(i=0;i<n;i++)
{
a[i] = scan.nextInt();
}
for(i=0;i<n;i++)
{
if(a[i]<0){count++;}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
sum = a[i] + sum;
b[j] = sum;
}
}
for(j=0;j<n;j++)
{
if(b[j]<0){count++;}
}
System.out.println(count);
}
}
Где я иду не так?
что такое b [] массив для? – Gaur93
Вы пытались использовать отладчик? –
Если я правильно понимаю это требование, я до сих пор не смог найти 9 комбинаций для данного ввода и нашел только 6. (1, -2); (4, -5); (- 5,1); (-2,4, -5); (- 2,4, -5,1), (1, -2,4, -5,1). Я что-то не хватает? – drgPP