Форум » Массивы, сортировка, работа с файлами » задача 2647 » Ответить

задача 2647

xen.sem: Здравствуйте! Уже вторые сутки мучаю задачу 2647. Для уменьшения аварий на центральной дороге в городе X дорожная служба решила выровнять ямы. Новая яма будет иметь второй по величине объем (в литрах) среди её самой и двух соседних ям. При этом размеры первой и последней ямы решили не менять. Ночью перед ремонтом дороги в городе X прошел проливной дождь, поэтому все ямы до краев заполнены водой. Сколько литров воды выльется обратно на дорогу после проведения ремонта? Запишите в ответе два числа: количество ям с наименьшим объемом и общий объем воды, вылившейся из ям обратно на дорогу. на примере входных данных всё получается, при работе с файлом задания с ответом не сходится. Выводит 53 и 13033. В ответе 72 и 17730. Попробовали решить в excel ответ получается тот же 53 и 13033. Получилось вот такое решение:[pre2] var f:text; i,n,g,max,max1,k,l,a,min,minn,r:integer; mas:array[1..10000] of integer; begin assign(f, '26-j5.txt'); reset(f); readln(f,n); g:=0; max:=0; r:=0; min:=30; for i:=1 to n do begin readln(f,mas[ i ]); end; for i:=2 to n-1 do begin max:=0; max1:=0; minn:=30; k:=0; l:=0; if mas[ i ]>=mas[i-1] then begin max:=mas[ i ]; k:=i; end else begin max:=mas[i-1]; k:=i-1; end; if mas[i+1]>max then begin max:=mas[i+1]; k:=i+1; end; if mas[ i ]<=mas[i-1] then begin minn:=mas[ i ]; l:=i; end else begin minn:=mas[i-1]; l:=i-1; end; if mas[i+1]<minn then begin minn:=mas[i+1]; l:=i+1; end; max1:=mas[i-1]+mas[ i ]+mas[i+1]-max-minn; if mas[ i ]>max1 then begin a:=mas[ i ]-max1; g:=g+a; end; mas[ i ]:=max1; end; for i:=1 to n do begin if mas[ i ]<min then min:=mas[ i ]; write(mas[ i ],','); end; for i:=1 to n do begin if mas[ i ]=min then r:=r+1; end; writeln; write(g,',',r); end.[/pre2]

Ответов - 3

EugeneJobs: Здравствуйте. Ознакомьтесь с разбором задачи. Вероятно это поможет найти ответ на ваш вопрос. Либо опишите идею вашего алгоритма словесно, ибо читать неотформатированный код достаточно тяжело. ССЫЛКА НА РАЗБОР

глебарзамас: EugeneJobs пишет: Ознакомьтесь с разбором задачи Задача № 2647 Задание КИМ № 26: Обработка данных с помощью сортировки Раздел № 160: Сортировка данных из файла Автор в разборе не использует и не упоминает сортировку. Тогда почему задача под № 26? Она больше подходит под 18 либо 27 задачи. Хотелось бы разобраться. ЗЫ. Как эту задачу решить вообще с помощью сортировки?

xen.sem: спасибо, увидела свою ошибку




полная версия страницы