t0rto1se's blog

By t0rto1se, history, 2 years ago, In English

Problem Name — "Group Photo"

There are $$$N$$$ people, each with a unique height. The height of the $$$i^{th}$$$ person is $$$i (1 \leq i \leq N)$$$. The $$$i^{th}$$$ person will smile in the photo if at least $$$A[i]$$$ people in the photo are shorter than him and at most $$$B[i]$$$ people in the photo are taller than him.

Find the largest group such that everyone will smile in the photo of this group. A group is a collection of randomly selected people from the given $$$N$$$ people.

Constraints:

  • $$$1 \leq N \leq 10^5$$$

  • $$$0 \leq A[i], B[i] \leq N$$$

Example Test Case
My O(N^2) approach

I cannot come up with a better solution for this. Any help would be greatly appreciated, thanks!

  • Vote: I like it
  • +19
  • Vote: I do not like it

| Write comment?
»
2 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Binary Search on the number of people. Also this is a Codeforces problem.

»
2 years ago, # |
Rev. 2   Vote: I like it +9 Vote: I do not like it
Hint
Solution
Code
  • »
    »
    2 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Plzz share the code in spoiler tag. Thanks in advance

  • »
    »
    2 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Wow, it seems so easy now, yet it never occurred to me during the contest to use binary search. Thanks a lot!

  • »
    »
    2 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    ohh means loop [1..n] --> check for i that A[i] >= no. of choosen before and B[i] < (avilable space) Right??