Advertisement
paranid5

07.02 1

Feb 7th, 2022
2,175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Groovy 0.83 KB | None | 0 0
  1. final lines = new File("kek.txt").readLines()
  2. final m = lines.first().split(' ')[1].toInteger()
  3. final files = lines.drop(1).collect { it.toInteger() }
  4. final pictures = new TreeSet(files.findAll { it <= 100 })
  5. final videos = new TreeSet(files.findAll { it > 100 })
  6. final mid = m.intdiv(2)
  7.  
  8. sum = 0
  9. size = 0
  10.  
  11. set = videos.takeWhile {
  12.     if (sum < mid) {
  13.         sum += it
  14.         return true
  15.     } else {
  16.         return false
  17.     }
  18. }
  19.  
  20. size += set.size()
  21. videos.removeAll(set)
  22.  
  23. set = pictures.takeWhile {
  24.     if (sum + it > m) {
  25.         return false
  26.     } else {
  27.         sum += it
  28.         return true
  29.     }
  30. }
  31.  
  32. size += set.size()
  33. println(size)
  34.  
  35. if (sum == m) {
  36.     println(set.last())
  37. } else {
  38.     sum -= set.last()
  39.     pictures.removeAll(set.dropRight(1))
  40.     println(pictures.takeWhile { sum + it <= m }.last())
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement