실제 줄에서 앞뒤로 접는 문자열 조각 ( "로프"에서와 같이 "문자 무리"에서와 같이)을 고려하십시오. 우리는 문자열의 모양을 통과하는 점의 목록으로 (순서대로) 설명 할 수 있습니다. 간단하게하기 위해 모든 점이 정수라고 가정합니다.
예를 들어 보자 [-1, 3, 1, -2, 5, 2, 3, 4]
(각 항목이 접기를 의미하지는 않음).
세로 방향으로 연장되는 문자열은 시각화 목적으로 만 사용됩니다. 줄이 모두 실제 줄에 납작했다고 상상해보십시오.
이제이 질문이 있습니다 :이 줄이 한 번의 절단으로 절단 될 수있는 가장 많은 수의 조각은 무엇입니까 (위 그림에서 수직이어야 함). 이 경우, 대답은 6 사이의 컷 어디서나 함께 2
하고 3
:
모호성을 피하기 위해, 정수가 아닌 위치에서 절단 을 수행해야합니다.
도전
문자열이 접힌 정수 위치 목록이 제공되면 정수가 아닌 위치에서 단일 컷으로 문자열을 절단 할 수있는 최대 개수를 결정해야합니다.
당신은 전체 프로그램이나 함수를 작성할 수 있습니다. STDIN, 명령 줄 인수, 프롬프트 또는 함수 매개 변수를 통해 입력 할 수 있습니다. 출력을 STDOUT에 쓰거나 대화 상자에 표시하거나 함수에서 리턴 할 수 있습니다.
목록이 편리한 목록 또는 문자열 형식이라고 가정 할 수 있습니다.
이 목록에는 2 개 이상 100 개 이하의 항목이 포함됩니다. 항목은 각각 -2 31 ≤ p i <2 31 범위의 정수 입니다. 두 개의 연속 항목이 동일하지 않다고 가정 할 수 있습니다.
귀하의 코드는 합리적인 데스크탑 PC에서 10 초 이내에 이러한 입력 (아래 테스트 사례 포함)을 처리해야합니다.
테스트 사례
모든 테스트 케이스는 입력 후 출력됩니다.
[0, 1]
2
[2147483647, -2147483648]
2
[0, 1, -1]
3
[1, 0, -1]
2
[-1, 3, 1, -2, 5, 2, 3, 4]
6
[-1122432493, -1297520062, 1893305528, 1165360246, -1888929223, 385040723, -80352673, 1372936505, 2115121074, -1856246962, 1501350808, -183583125, 2134014610, 720827868, -1915801069, -829434432, 444418495, -207928085, -764106377, -180766255, 429579526, -1887092002, -1139248992, -1967220622, -541417291, -1617463896, 517511661, -1781260846, -804604982, 834431625, 1800360467, 603678316, 557395424, -763031007, -1336769888, -1871888929, 1594598244, 1789292665, 962604079, -1185224024, 199953143, -1078097556, 1286821852, -1441858782, -1050367058, 956106641, -1792710927, -417329507, 1298074488, -2081642949, -1142130252, 2069006433, -889029611, 2083629927, 1621142867, -1340561463, 676558478, 78265900, -1317128172, 1763225513, 1783160195, 483383997, -1548533202, 2122113423, -1197641704, 319428736, -116274800, -888049925, -798148170, 1768740405, 473572890, -1931167061, -298056529, 1602950715, -412370479, -2044658831, -1165885212, -865307089, -969908936, 203868919, 278855174, -729662598, -1950547957, 679003141, 1423171080, 1870799802, 1978532600, 107162612, -1482878754, -1512232885, 1595639326, 1848766908, -321446009, -1491438272, 1619109855, 351277170, 1034981600, 421097157, 1072577364, -538901064]
53
[-2142140080, -2066313811, -2015945568, -2013211927, -1988504811, -1884073403, -1860777718, -1852780618, -1829202121, -1754543670, -1589422902, -1557970039, -1507704627, -1410033893, -1313864752, -1191655050, -1183729403, -1155076106, -1150685547, -1148162179, -1143013543, -1012615847, -914543424, -898063429, -831941836, -808337369, -807593292, -775755312, -682786953, -679343381, -657346098, -616936747, -545017823, -522339238, -501194053, -473081322, -376141541, -350526016, -344380659, -341195356, -303406389, -285611307, -282860017, -156809093, -127312384, -24161190, -420036, 50190256, 74000721, 84358785, 102958758, 124538981, 131053395, 280688418, 281444103, 303002802, 309255004, 360083648, 400920491, 429956579, 478710051, 500159683, 518335017, 559645553, 560041153, 638459051, 640161676, 643850364, 671996492, 733068514, 743285502, 1027514169, 1142193844, 1145750868, 1187862077, 1219366484, 1347996225, 1357239296, 1384342636, 1387532909, 1408330157, 1490584236, 1496234950, 1515355210, 1567464831, 1790076258, 1829519996, 1889752281, 1903484827, 1904323014, 1912488777, 1939200260, 2061174784, 2074677533, 2080731335, 2111876929, 2115658011, 2118089950, 2127342676, 2145430585]
2
a reasonable desktop PC
오히려 모호 하지 않습니까?