시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 1024 MB | 35 | 15 | 12 | 40.000% |
Митко играе следната игра. Той разполага с купчина от червени и сини топчета. В N кутии, номерирани с числата от 1 до N са поставени определен брой топчета с различни цветове (във всяка кутия има топчета от само един цвят – червени или сини). Митко си записва броя на топчетата във всяка кутия така: ако топчетата в кутията са сини, пред броя им слага знак „минус“, т.е. броят става отрицателно число. В началото на играта се пресмята сумата от числата, които е записал. След това Митко поставя в кутия с номер 1 толкова на брой топчета, колкото е разликата на общия брой и броя, който е в кутията. Ако се получи отрицателно число, в съответната кутия Митко поставя само сини топчета, а ако се получи положително - поставя червени топчета. Същото действие извършва с всички останали кутии. На втората стъпка се събира полученият нов брой на топчета във всички кутии и Митко трябва отново да започне да поставя в кутиите този брой минус броя, който се съдържа в съответната кутия. И така, тези действия се повтарят K пъти. Накрая Митко трябва да отговори на въпроса: Колко е разликата между максималния и минималния брой на топчета в кутиите след K на брой стъпки? Напишете програма balls, която пресмята тази разлика при зададени N, K и първоначален брой топчета във всяка кутия.
От първия ред на стандартния вход се въвеждат две цели числа N и K. От следващия ред се въвеждат N цели числа – брой на топките в кутиите. Ако топките са сини, числото е отрицателно, ако са червени – положително. Числата са разделени с по един интервал.
На един ред на стандартния изход програмата трябва да изведе едно цяло число – търсената разлика.
3 2 -7 1 -3
8
Най-големият брой топчета е в първата кутия – 16, най-малкият е 8 – във втората кутия. Разликата е 8.