아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

장난감 섞기

시간 제한1초메모리 제한256 MB

요약
고정된 N개의 수열을 임의의 순서로 이어 붙일 때 전체 최대 연속합을 최대로 만드는 값을 구한다.
난이도

보통10점 중 5점

유형
그리디, 동적 계획법, 정렬
정답자
아직 제출이 없습니다

문제

랑이 집사는 랑이와 메리의 조기 교육을 위해 NN개의 수열을 주문했다.

각 수열의 길이는 MM으로 모두 동일하고, 수열을 구성하는 수는 다를 수 있다. 주문한 수열은 모두 완제품이라서 임의로 나누거나 수정할 수 없고, 수열끼리의 순서만 마음대로 배치할 수 있다.

어떤 수열의 최대 연속합이란 그 수열에서 연속으로 몇 개의 수를 선택해서 더하는 경우들 중 가장 합이 큰 경우의 합을 의미한다. 수를 하나도 고르지 않는 경우도 가능하며, 이 때의 연속합은 00으로 정의한다.

랑이와 메리는 어떤 수열의 최대 연속합이 클수록 이 수열에 흥미를 느낀다.

랑이 집사는 가장 흥미로운 수열을 만들기 위해 NN개의 수열의 순서를 마음대로 배치해 하나의 긴 수열을 만들고자 한다. 랑이 집사가 만든 수열의 최대 연속합을 구하는 프로그램을 작성하시오.

입력

첫 줄에 NN, MM이 공백으로 구분되어 주어진다. (1≤N≤101 \le N \le 10, 1≤M≤10,0001 \le M \le 10,000)

둘째 줄부터 NN줄에 걸쳐 각 수열이 한 줄에 하나씩 주어진다. 수열은 -100100 이상 100100 이하의 정수로 구성되어 있다.

출력

랑이 집사가 만든 수열의 최대 연속합을 출력한다.

예제1

  1. 예제 1

    입력
    3 5
    5 5 5 5 5
    -10 -10 -10 5 5
    5 5 -10 -10 -10
    
    예상 출력
    45