(use '[clojure.string :only (split triml)]) ( let [ n_t (read-line) n (Integer/parseInt n_t) ] ( let [ a_temp (read-line) a_t (split a_temp #"\s+") a (apply vector (map #(Integer/parseInt %) a_t)) ] (defn thirdloop [a] (for [k (range (count a))] (for [i (range (- (count a) k)) :let [j (+ i k)]] (apply max (subvec a i (+ j 1)))))) (prn (reduce + (flatten (thirdloop (apply vector (flatten (thirdloop a))))))) ) )