All Tracks Algorithms Searching Binary Search Problem

BooBoo and Upsolving

Binary search algorithm, Easy, Greedy algorithm


The hero of this story is a toddler named BooBoo. Inspired by the legendary competitive coder Gena, BooBoo has also started preparing to race to the top of the ranks.

BooBoo is going to practice N different problems in the exact given order over the next M days. For each problem, he writes down the amount of time \(q_i\) he will take to think and code the \(i^{th}\) problem (He is quite good at estimating!). Before starting on the problems, he took advice from experienced competitive programmers on his practice routine and almost all of them advised him to keep his daily load at the minimum possible and avoid over training.

Since BooBoo already has N problems to solve, he asks you to find the minimum time T such that training everyday for a time \(t_i \le T\) is sufficient to solve all the N problems in M days.

Note : Unlike in real world, you cannot think on a problem on one day and solve it on the other day. You need to do it on the very same day!

Input Format:

The first line contains two space separated integers N and M. The next line contains N space separated integers denoting the time \(q_i\) required to solve the \(i^{th}\) problem.

Output Format:

The output consists of one integer, the minimum time T as described in the problem statement.


\(1 \le N \le 10^5\)
\(1 \le M \le N\)
\(1 \le q_i \le 10^{12}\)


20 points: \(1 \le N \le 1000 , 1 \le M \le 100, 1 \le q_i \le 100\).
80 points: Original Constraints

5 3
1 2 2 1 3

By setting T = 3, we can solve 1st two questions on day 1, next two on day 2 and 5th one on day 3.

Time Limit: 1.0 sec(s) for each input file.
Memory Limit: 256 MB
Source Limit: 1024 KB
Marking Scheme: Marks are awarded when all the testcases pass.
Allowed Languages: Bash, C, C++, C++14, Clojure, C#, D, Erlang, F#, Go, Groovy, Haskell, Java, Java 8, JavaScript(Rhino), JavaScript(Node.js), Julia, Kotlin, Lisp, Lisp (SBCL), Lua, Objective-C, OCaml, Octave, Pascal, Perl, PHP, Python, Python 3, R(RScript), Racket, Ruby, Rust, Scala, Swift, Swift-4.1, TypeScript, Visual Basic


Initializing Code Editor...
Your Rating:


This Problem was Asked in


Challenge Name

May Circuits

View All Notifications