码迷,mamicode.com
首页 > 其他好文 > 详细

Make k Equal from Codeforces Round #629 (Div. 3)

时间:2020-03-28 20:20:02      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:str   hose   nothing   ext   make   http   const   imp   incr   

description

you are given an array and you are asked to make \(k\) elements of it equal after some operations.

you can make one of the following operations:

  • take one of the minimum and increase its value by \(1\)
  • take one of the maximum and subtract it from \(1\)

find the minimum number of operations to make it possible.

breakthough

this problem involves nothing but implimention. but we can make it elegantly.

let conclusion comes first, our required answer is
\(ans=min((ansl,ansr),ansmid)\) ,where:

  • \(ansl\) is the needed operations if we choose to share value \(a[k]\) with no less than \(k\) elements.
  • \(ansr\) is the needed operations if we choose to share value \(a[n-k+1]\) with no less than \(k\) elements.
  • \(ansmid\) is the needed operations if we choose to let \(k\) elements staying right in the middle be the chosen ones(who is exactly among the k numbers)

most of the times our answer is contributed by \(ansl\) or \(ansr\) except some cases like test case number two given by the host, in which both the minimum and maximum are extremely close as well as the chosen one is in between.

apart from these there are also some tricks here related to the constraints of the applications of each answer, which is amazing to generate or come out.

code designed by BIG BROTHER COW to take a reference:https://codeforces.com/contest/1328/submission/74425585

Make k Equal from Codeforces Round #629 (Div. 3)

标签:str   hose   nothing   ext   make   http   const   imp   incr   

原文地址:https://www.cnblogs.com/reshuffle/p/12588688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!