|(A(1)+A(2)+…+A(k)) - (A(k+1)+…+A(N))| минимальна (то есть минимален модуль разности сумм элементов в правой и левой части, на которые массив делится этим k).
Пожалуйста , помогите начинающему

актуально!uncensored писал(а):Задан массив, определить значение k, при котором сумма
|(A(1)+A(2)+…+A(k)) - (A(k+1)+…+A(N))| минимальна (то есть минимален модуль разности сумм элементов в правой и левой части, на которые массив делится этим k).
Пожалуйста , помогите начинающему![]()
Неужели никто не поможет написать код такой простенькой (для про) задачки?uncensored писал(а):Задан массив, определить значение k, при котором сумма
|(A(1)+A(2)+…+A(k)) - (A(k+1)+…+A(N))| минимальна (то есть минимален модуль разности сумм элементов в правой и левой части, на которые массив делится этим k).
Пожалуйста , помогите начинающему![]()
Как бы писал ему , но ответа не получил , так что надеюсь на помощь тех , кто в состоянии помочьmc-black писал(а):Нетрудно, но решатели решателю (Decoder) не ставят палок в колеса.
А вот это уже неправда. Не надо людей обманывать.Как бы писал ему , но ответа не получил , так что надеюсь на помощь тех , кто в состоянии помочь![]()
Извиняюсь , просто ответ на свое письмо получил на 3-ий день после отправки , поэтому и был написан предыдущий пост!Decoder писал(а):А вот это уже неправда. Не надо людей обманывать.
Код: Выделить всё
[size=84][color=#0000ff][size=84][color=#0000ff]using[/color][/size][/color][/size][size=84] System;[/size]
[size=84][color=#0000ff][size=84][color=#0000ff]using[/color][/size][/color][/size][size=84] System.Collections.Generic;[/size]
[size=84][color=#0000ff][size=84][color=#0000ff]using[/color][/size][/color][/size][size=84] System.Text;[/size]
[size=84][color=#0000ff][size=84][color=#0000ff]namespace[/color][/size][/color][/size][size=84] Balance[/size]
[size=84]{[/size]
[size=84][color=#0000ff][size=84][color=#0000ff] class [/color][/size][/color][/size][size=84][color=#2b91af][size=84][color=#2b91af]Program[/color][/size]
[/color][/size][size=84] {[/size]
[size=84][color=#0000ff][size=84][color=#0000ff] static [/color][/size][/color][/size][size=84][color=#0000ff][size=84][color=#0000ff]void[/color][/size][/color][/size][size=84] Main([/size][size=84][color=#0000ff][size=84][color=#0000ff]string[/color][/size][/color][/size][size=84][] args)[/size]
[size=84] {[/size]
[size=84][color=#008000][size=84][color=#008000] // Вычисление суммы всех элементов массива[/color][/size]
[/color][/size][size=84][color=#0000ff][size=84][color=#0000ff] int[/color][/size][/color][/size][size=84] summ = 0;[/size]
[size=84][color=#0000ff][size=84][color=#0000ff] foreach[/color][/size][/color][/size][size=84] ([/size][size=84][color=#0000ff][size=84][color=#0000ff]int[/color][/size][/color][/size][size=84] val [/size][size=84][color=#0000ff][size=84][color=#0000ff]in[/color][/size][/color][/size][size=84] values) summ += val;[/size]
[size=84][color=#008000][size=84][color=#008000] // Поиск наилучшего баланса...[/color][/size]
[/color][/size][size=84][color=#0000ff][size=84][color=#0000ff] int[/color][/size][/color][/size][size=84] left = 0, diff = summ, k = -1;[/size]
[size=84][color=#0000ff][size=84][color=#0000ff] for[/color][/size][/color][/size][size=84] ([/size][size=84][color=#0000ff][size=84][color=#0000ff]int[/color][/size][/color][/size][size=84] n = 0; n < values.Length; ++n)[/size]
[size=84] {[/size]
[size=84] left += values[n];[/size]
[size=84][color=#0000ff][size=84][color=#0000ff] int[/color][/size][/color][/size][size=84] temp = [/size][size=84][color=#2b91af][size=84][color=#2b91af]Math[/color][/size][/color][/size][size=84].Abs(summ - 2*left);[/size]
[size=84][color=#0000ff][size=84][color=#0000ff] if[/color][/size][/color][/size][size=84] (temp <= diff)[/size]
[size=84] {[/size]
[size=84] diff = temp;[/size]
[size=84] k = n;[/size]
[size=84] }[/size]
[size=84] }[/size]
[size=84][color=#008000][size=84][color=#008000] // Вывод на консоль[/color][/size]
[/color][/size][size=84][color=#2b91af][size=84][color=#2b91af] Console[/color][/size][/color][/size][size=84].WriteLine(k);[/size]
[size=84][color=#2b91af][size=84][color=#2b91af] Console[/color][/size][/color][/size][size=84].Read();[/size]
[size=84] }[/size]
[size=84][color=#008000][size=84][color=#008000] // Массив для примера...[/color][/size]
[/color][/size][size=84][color=#0000ff][size=84][color=#0000ff] static [/color][/size][/color][/size][size=84][color=#0000ff][size=84][color=#0000ff]int[/color][/size][/color][/size][size=84][] values = { 2, 0, -2, 1, 2, 3, 4, 3, 6, 5, 3, 2, 5, 7, 3, 6, 9, 5, 3, 6 };[/size]
[size=84] }[/size]
[size=84]}[/size]