В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
adaman2006
adaman2006
16.04.2023 19:08 •  Информатика

на С++!! Сумма подряд идущих! Дан массив целых чисел a[1],a[2],...,a[n] и натуральные числа k и m. Укажите минимальное значение i, для которого a[i]+a[i+1]+...+a[i+k]=m (то есть сумма k+1 подряд идущих элементов массива равна m). Если такого значения нет, то выведите 0.

Входные данные

На вход программе сначала подаются значения n, k и m (m≤109, 0
Выходные данные

Выведите ответ на задачу.

Примеры
Ввод
4 1 22
9 13 10 -11

вывод
1

Показать ответ
Ответ:
SofiCat5
SofiCat5
07.09.2021 13:41

ответ: на информатиксе

Объяснение:

#include <iostream>

#include <vector>

#include <algorithm>

#include <iterator>

using namespace std;

#define ll long long

int main(){

int n,k,m;

cin>>n>>k>>m;

vector<ll>a(n);

for(vector<ll>::iterator it=a.begin();it<a.end();it++){

cin>>*it;

}

vector<int>p(n + 1);

p[0] = 0;

for (int i = 1; i <= n; ++i)

{

p[i] = p[i - 1] + a[i-1];

}

for (int i = 0; i+k+1 < (int)p.size(); ++i)

{

int res=p[i+k+1]-p[i];

if(res==m){

cout<<i+1;

return 0;

}

}

cout<<0;

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота