Skip to content

Instantly share code, notes, and snippets.

@l4u
Created April 18, 2014 11:33
Show Gist options
  • Save l4u/11039183 to your computer and use it in GitHub Desktop.
Save l4u/11039183 to your computer and use it in GitHub Desktop.
import Debug.Trace
import Control.Monad
import Data.List
getInt::IO Integer
getInt = do
s <- getLine
return (read s)
pro :: [Integer] -> Integer -> Integer -> Integer
pro [] m c = -1
pro (l:ls) m c
| l >= m = c
| otherwise = pro ls m (c+1)
sumlist :: [Integer] -> [Integer] -> Integer -> [Integer]
sumlist [] resultl s = resultl
sumlist (l:ls) resultl s = sumlist ls (resultl ++ [s+l]) (s+l)
main :: IO ()
main = do
_ <- getInt
l <- fmap ((map read) . words) getLine :: IO [Integer]
let sortL = sortBy (flip compare) l
let sumL = sumlist sortL [] 0
t <- liftM read getLine
replicateM_ t (do
i <- getInt
print (pro sumL i 1)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment