Задача про забор Поликарпа - C#
Формулировка задачи:
Перед домом Поликарпа находится забор, который состоит из n одинаковых по ширине досок, расположенных одна за другой слева направо. Высота i-ой доски составляет hi метров, разные доски могут иметь различные высоты.
Поликарп приобрел рояль и теперь ищет наилучший способ занести рояль в свой дом. Для того, чтобы осуществить задуманное, ему придется выломать ровно k подряд идущих досок в заборе. Так как высокие доски выламывать сложнее, Поликарп хочет найти такие k последовательных досок, что сумма их высот минимальна.
Напишите программу, которая найдет номера k последовательных досок с наименьшей суммой высот. Обратите внимание, забор не окружает дом Поликарпа, а находится перед ним (другими словами, забор не зациклен).
Формат ввода
В первой строке входных данных содержатся целые числа n и k () — количество досок в заборе и ширина проема для рояля. Следующие n строк содержат последовательность целых чисел h1, h2, ..., hn (), где hi — высота i-ой доски забора.
Формат вывода
Выведите такое j, что сумма высот досок j, j + 1, ..., j + k - 1 — наименьшая возможная. Если таких j несколько, то выведите любое из них.
Решение задачи: «Задача про забор Поликарпа»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication20 { class Program { static void Main(string[] args) { Console.WriteLine("Количество досок для выламывания - 0. Несем рояль вокруг забора"); Console.ReadLine(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д