Сумма, делящаяся на три
Необходимо найти самый большой непрерывный фрагмент в массиве a1,a2...aN, сумма элементов которого делится на 3.
Входные данные
В первой строке входных данных содержится число N≤100000. Во второй строке даны N чисел, по модулю не превосходящих 109, — элементы массива.
Выходные данные
Выведите два числа — индексы начала и конца фрагмента. Если таких фрагментов несколько, то выведите фрагмент с минимальным индексом начала.
Если ответа не существует, то выведите единственное число −1.
Примеры
Ввод
5
Вывод
1 2 3 4 5
1 5
Ввод
4
1 2 3 4
Вывод
1 3
#include
#include
using namespace std;
int main () {
int n;
cin >> n;
vector a(n),s(3, -1), e(3, -1);
for (int i = 0; i < n; i++)
cin >> a[i];
int mmax = -1;
int maxlen = 0;
int m = 0;
int p = 0;
for (int i = 0; i < n; i++) {
if (s[m] < 0)
s[m] = i;
p += a[i] % 3;
m = p % 3;
if (s[m] >= 0) {
e[m] = i;
if (e[m] - s[m] + 1 > maxlen) {
maxlen = e[m] - s[m] + 1;
mmax = m;
}
}
}
if (mmax >= 0)
cout << s[mmax] + 1 << " " << e[mmax] + 1;
else
cout << mmax;
}
197
200
Ответы на вопрос:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
qwertynikas14.01.2022 17:20
-
Александра24х401.11.2020 17:13
-
pziipzii11.06.2023 02:33
-
kinzya25.06.2022 23:22
-
Yulia180507.12.2022 20:06
-
ТупенькийХлебушек129.12.2022 02:33
-
F228o228X21.02.2021 06:58
-
baka828.05.2020 01:06
-
Dashyliavvv02.04.2021 20:25
-
zhienalinaadel23.05.2020 05:41
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.