## A Sum Problem

View as PDF

Points: 12 (partial)
Time limit: 10.0s
Memory limit: 18M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

At school, Max is learning how to add numbers together! He finds the task of adding numbers too easy, so he gives you the following problem: sum an array of () integers (), without looking at the array. Instead, you're only allowed to ask the following question: "How many numbers in the array are greater than or equal to ?" Because he is impatient, Max says you can only ask up to questions.

No further constraints.

#### Interaction

The first line of input will be , the number of items in the array.

To ask questions, output ? k, followed by a newline. The next line of input will be the answer to your question.

To submit your answer, output ! x (followed by a newline), where is the sum of all the numbers.

If your output is ever invalid, undefined behavior will be invoked.

Please note that the grader for this problem does not differentiate between asking too many queries or giving the incorrect answer. In both cases you will receive a WA verdict.

#### Sample Interaction

>>> denotes your output. Do not print >>> out.

4
>>> ? 1
4
>>> ? 2
3
>>> ? 3
2
>>> ? 4
1
>>> ! 10

#### Sample Explanation

The array was , and its sum is .