시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB29512510045.455%

문제

수열에서 몇 개의 수를 순서대로 골라 만들 수 있는 수열을 부분수열이라고 한다. 예를 들어 수열 S = [1, 5, 3, 2, 5, 1, 3, 4, 4, 2, 5, 1, 2, 3]에서 첫 번째, 다섯 번째, 일곱 번째, 열 번째 수를 고르면 부분수열 p = [1, 5, 3, 2]을 만들 수 있다.

수열 S와 임의의 부분수열 p가 주어졌을 때, 모두 몇 가지 방법으로 S에서 고른 수로 p를 구성할 수 있는지에 관한 문제는 많이 다루어진 문제이므로, 이번에는 반대의 경우를 생각해 보자. 수열 S가 주어지고, 이 수열에서 만들 수 없는 부분수열에 관해 생각해 보는 것이다.

부분수열이 충분히 길면 물론 만들어 낼 수 없을 것이다. 그럼 만들어 낼 수 없는 부분수열 중 가장 짧은 것의 길이는 얼마일까? 이를 알아내는 프로그램을 작성하라.

입력

첫 줄에 두 정수 n과 k가 주어진다. (1 ≤ n ≤ 100,000. 1 ≤ k ≤ 10,000) n은 수열 S의 길이이고, k는 수열 내에 존재하는 수들의 범위이다. 즉, S가 1이상 k이하의 정수들로만 이루어져 있음을 나타낸다. 둘째 줄부터는 S를 이루는 수들이 한 줄에 한 개씩 차례로 주어진다.

출력

첫 줄에 S에 존재하지 않는 부분수열 중 가장 짧은 것의 길이를 출력한다.

예제 입력 1

14 5
1
5
3
2
5
1
3
4
4
2
5
1
2
3

예제 출력 1

3

힌트

1이상 5이하의 정수들로 만들 수 있고 길이가 1, 2인 수열은 모두 S 내에 부분수열로서 존재한다. 길이가 3인 부분수열 중 [2, 2, 4]는 수열 내에 존재하지 않는다.

W3sicHJvYmxlbV9pZCI6IjE4ODUiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWJlNDRcdWJkODBcdWJkODRcdWMyMThcdWM1ZjQiLCJkZXNjcmlwdGlvbiI6IjxwPlx1YzIxOFx1YzVmNFx1YzVkMFx1YzExYyBcdWJhODcgXHVhYzFjXHVjNzU4IFx1YzIxOFx1Yjk3YyBcdWMyMWNcdWMxMWNcdWIzMDBcdWI4NWMgXHVhY2U4XHViNzdjIFx1YjljY1x1YjRlNCBcdWMyMTggXHVjNzg4XHViMjk0IFx1YzIxOFx1YzVmNFx1Yzc0NCBcdWJkODBcdWJkODRcdWMyMThcdWM1ZjRcdWM3NzRcdWI3N2NcdWFjZTAgXHVkNTVjXHViMmU0LiBcdWM2MDhcdWI5N2MgXHViNGU0XHVjNWI0IFx1YzIxOFx1YzVmNCBTID0gWzEsIDUsIDMsIDIsIDUsIDEsIDMsIDQsIDQsIDIsIDUsIDEsIDIsIDNdXHVjNWQwXHVjMTFjIFx1Y2NhYiBcdWJjODhcdWM5ZjgsIFx1YjJlNFx1YzEyZiBcdWJjODhcdWM5ZjgsIFx1Yzc3Y1x1YWNmMSBcdWJjODhcdWM5ZjgsIFx1YzVmNCBcdWJjODhcdWM5ZjggXHVjMjE4XHViOTdjIFx1YWNlMFx1Yjk3NFx1YmE3NCBcdWJkODBcdWJkODRcdWMyMThcdWM1ZjQgcCA9IFsxLCA1LCAzLCAyXVx1Yzc0NCBcdWI5Y2NcdWI0ZTQgXHVjMjE4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjMjE4XHVjNWY0IFNcdWM2NDAgXHVjNzg0XHVjNzU4XHVjNzU4IFx1YmQ4MFx1YmQ4NFx1YzIxOFx1YzVmNCBwXHVhYzAwIFx1YzhmY1x1YzViNFx1Yzg0Y1x1Yzc0NCBcdWI1NGMsIFx1YmFhOFx1YjQ1MCBcdWJhODcgXHVhYzAwXHVjOWMwIFx1YmMyOVx1YmM5NVx1YzczY1x1Yjg1YyBTXHVjNWQwXHVjMTFjIFx1YWNlMFx1Yjk3OCBcdWMyMThcdWI4NWMgcFx1Yjk3YyBcdWFkNmNcdWMxMzFcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjI5NFx1YzljMFx1YzVkMCBcdWFkMDBcdWQ1NWMgXHViYjM4XHVjODFjXHViMjk0IFx1YjljZVx1Yzc3NCBcdWIyZTRcdWI4ZThcdWM1YjRcdWM5YzQgXHViYjM4XHVjODFjXHVjNzc0XHViYmMwXHViODVjLCBcdWM3NzRcdWJjODhcdWM1ZDBcdWIyOTQgXHViYzE4XHViMzAwXHVjNzU4IFx1YWNiZFx1YzZiMFx1Yjk3YyBcdWMwZGRcdWFjMDFcdWQ1NzQgXHViY2Y0XHVjNzkwLiBcdWMyMThcdWM1ZjQgU1x1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzBcdWFjZTAsIFx1Yzc3NCBcdWMyMThcdWM1ZjRcdWM1ZDBcdWMxMWMgXHViOWNjXHViNGU0IFx1YzIxOCBcdWM1YzZcdWIyOTQgXHViZDgwXHViZDg0XHVjMjE4XHVjNWY0XHVjNWQwIFx1YWQwMFx1ZDU3NCBcdWMwZGRcdWFjMDFcdWQ1NzQgXHViY2Y0XHViMjk0IFx1YWM4M1x1Yzc3NFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHViZDgwXHViZDg0XHVjMjE4XHVjNWY0XHVjNzc0IFx1Y2RhOVx1YmQ4NFx1ZDc4OCBcdWFlMzhcdWJhNzQgXHViYjNjXHViODYwIFx1YjljY1x1YjRlNFx1YzViNCBcdWIwYmMgXHVjMjE4IFx1YzVjNlx1Yzc0NCBcdWFjODNcdWM3NzRcdWIyZTQuIFx1YWRmOFx1YjdmYyBcdWI5Y2NcdWI0ZTRcdWM1YjQgXHViMGJjIFx1YzIxOCBcdWM1YzZcdWIyOTQgXHViZDgwXHViZDg0XHVjMjE4XHVjNWY0IFx1YzkxMSBcdWFjMDBcdWM3YTUgXHVjOWU3XHVjNzQwIFx1YWM4M1x1Yzc1OCBcdWFlMzhcdWM3NzRcdWIyOTQgXHVjNWJjXHViOWM4XHVjNzdjXHVhZTRjPyBcdWM3NzRcdWI5N2MgXHVjNTRjXHVjNTQ0XHViMGI0XHViMjk0IFx1ZDUwNFx1Yjg1Y1x1YWRmOFx1YjdhOFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWI3N2MuPFwvcD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWIgXHVjOTA0XHVjNWQwIFx1YjQ1MCBcdWM4MTVcdWMyMTggblx1YWNmYyBrXHVhYzAwIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC4gKDEgJmxlOyBuICZsZTsgMTAwLDAwMC4gMSAmbGU7IGsgJmxlOyAxMCwwMDApIG5cdWM3NDAgXHVjMjE4XHVjNWY0IFNcdWM3NTggXHVhZTM4XHVjNzc0XHVjNzc0XHVhY2UwLCBrXHViMjk0IFx1YzIxOFx1YzVmNCBcdWIwYjRcdWM1ZDAgXHVjODc0XHVjN2FjXHVkNTU4XHViMjk0IFx1YzIxOFx1YjRlNFx1Yzc1OCBcdWJjOTRcdWM3MDRcdWM3NzRcdWIyZTQuIFx1Yzk4OSwgU1x1YWMwMCAxXHVjNzc0XHVjMGMxIGtcdWM3NzRcdWQ1NThcdWM3NTggXHVjODE1XHVjMjE4XHViNGU0XHViODVjXHViOWNjIFx1Yzc3NFx1YjhlOFx1YzViNFx1YzgzOCBcdWM3ODhcdWM3NGNcdWM3NDQgXHViMDk4XHVkMGMwXHViMGI4XHViMmU0LiBcdWI0NThcdWM5ZjggXHVjOTA0XHViZDgwXHVkMTMwXHViMjk0IFNcdWI5N2MgXHVjNzc0XHViOGU4XHViMjk0IFx1YzIxOFx1YjRlNFx1Yzc3NCBcdWQ1NWMgXHVjOTA0XHVjNWQwIFx1ZDU1YyBcdWFjMWNcdWM1MjkgXHVjYzI4XHViODQwXHViODVjIFx1YzhmY1x1YzViNFx1YzljNFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWNjYWIgXHVjOTA0XHVjNWQwIFNcdWM1ZDAgXHVjODc0XHVjN2FjXHVkNTU4XHVjOWMwIFx1YzU0YVx1YjI5NCBcdWJkODBcdWJkODRcdWMyMThcdWM1ZjQgXHVjOTExIFx1YWMwMFx1YzdhNSBcdWM5ZTdcdWM3NDAgXHVhYzgzXHVjNzU4IFx1YWUzOFx1Yzc3NFx1Yjk3YyBcdWNkOWNcdWI4MjVcdWQ1NWNcdWIyZTQuPFwvcD5cclxuIiwiaGludCI6IjxwPjFcdWM3NzRcdWMwYzEgNVx1Yzc3NFx1ZDU1OFx1Yzc1OCBcdWM4MTVcdWMyMThcdWI0ZTRcdWI4NWMgXHViOWNjXHViNGU0IFx1YzIxOCBcdWM3ODhcdWFjZTAgXHVhZTM4XHVjNzc0XHVhYzAwIDEsIDJcdWM3NzggXHVjMjE4XHVjNWY0XHVjNzQwIFx1YmFhOFx1YjQ1MCBTIFx1YjBiNFx1YzVkMCBcdWJkODBcdWJkODRcdWMyMThcdWM1ZjRcdWI4NWNcdWMxMWMgXHVjODc0XHVjN2FjXHVkNTVjXHViMmU0LiBcdWFlMzhcdWM3NzRcdWFjMDAgM1x1Yzc3OCBcdWJkODBcdWJkODRcdWMyMThcdWM1ZjQgXHVjOTExIFsyLCAyLCA0XVx1YjI5NCBcdWMyMThcdWM1ZjQgXHViMGI0XHVjNWQwIFx1Yzg3NFx1YzdhY1x1ZDU1OFx1YzljMCBcdWM1NGFcdWIyOTRcdWIyZTQuPFwvcD5cclxuIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIxODg1IiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiVGhlIENvdyBMaW5ldXAiLCJkZXNjcmlwdGlvbiI6IjxwPkZhcm1lciBKb2huJiMzOTtzIE4gY293cyAoMSAmbHQ7PSBOICZsdDs9IDEwMCwwMDApIGFyZSBsaW5lZCB1cCBpbiBhIHJvdy5FYWNoIGNvdyBpcyBsYWJlbGVkIHdpdGggYSBudW1iZXIgaW4gdGhlIHJhbmdlIDEuLi5LICgxICZsdDs9IEsgJmx0Oz0xMCwwMDApIGlkZW50aWZ5aW5nIGhlciBicmVlZC4gRm9yIGV4YW1wbGUsIGEgbGluZSBvZiAxNCBjb3dzIG1pZ2h0IGhhdmUgdGhlc2UgYnJlZWRzOjxcL3A+XHJcblxyXG48cHJlPlxyXG4gICAgMSA1IDMgMiA1IDEgMyA0IDQgMiA1IDEgMiAzPFwvcHJlPlxyXG5cclxuPHA+RmFybWVyIEpvaG4mIzM5O3MgYWN1dGUgbWF0aGVtYXRpY2FsIG1pbmQgbm90aWNlcyBhbGwgc29ydHMgb2YgcHJvcGVydGllcyBvZiBudW1iZXIgc2VxdWVuY2VzIGxpa2UgdGhhdCBhYm92ZS4gRm9yIGluc3RhbmNlLCBoZSBub3RpY2VzIHRoYXQgdGhlIHNlcXVlbmNlIDMgNCAxIDMgaXMgYSBzdWJzZXF1ZW5jZSAobm90IG5lY2Vzc2FyaWx5IGNvbnRpZ3VvdXMpIG9mIHRoZSBzZXF1ZW5jZSBvZiBicmVlZCBJRHMgYWJvdmUuIEZKIGlzIGN1cmlvdXMgd2hhdCBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBzaG9ydGVzdCBwb3NzaWJsZSBzZXF1ZW5jZSBoZSBjYW4gY29uc3RydWN0IG91dCBvZiBudW1iZXJzIGluIHRoZSByYW5nZSAxLi5LIHRoYXQgaXMgTk9UIGEgc3Vic2VxdWVuY2Ugb2YgdGhlIGJyZWVkIElEcyBvZiBoaXMgY293cy4gSGVscCBoaW0gc29sdmUgdGhpcyBwcm9ibGVtLjxcL3A+XHJcbiIsImlucHV0IjoiPHVsPlxyXG5cdDxsaT5MaW5lIDE6IFR3byBpbnRlZ2VycywgTiBhbmQgSzxcL2xpPlxyXG5cdDxsaT5MaW5lcyAyLi5OKzE6IEVhY2ggbGluZSBjb250YWlucyBhIHNpbmdsZSBpbnRlZ2VyIHRoYXQgaXMgdGhlIGJyZWVkIElEIG9mIGEgY293LiBMaW5lIDIgZGVzY3JpYmVzIGNvdyAxOyBsaW5lIDMgZGVzY3JpYmVzIGNvdyAyOyBhbmQgc28gb24uPFwvbGk+XHJcbjxcL3VsPlxyXG4iLCJvdXRwdXQiOiI8dWw+XHJcblx0PGxpPkxpbmUgMTogVGhlIGxlbmd0aCBvZiB0aGUgc2hvcnRlc3Qgc2VxdWVuY2UgdGhhdCBpcyBub3QgYSBzdWJzZXF1ZW5jZSBvZiB0aGUgaW5wdXQ8XC9saT5cclxuPFwvdWw+XHJcbiIsImhpbnQiOiI8cD5BbGwgdGhlIHNpbmdsZSBkaWdpdCAmIzM5O3NlcXVlbmNlcyYjMzk7IGFwcGVhci4gRWFjaCBvZiB0aGUgMjUgdHdvIGRpZ2l0IHNlcXVlbmNlcyBhbHNvIGFwcGVhcnMuIE9mIHRoZSB0aHJlZSBkaWdpdCBzZXF1ZW5jZXMsIHRoZSBzZXF1ZW5jZSAyLCAyLCA0IGRvZXMgbm90IGFwcGVhci48XC9wPlxyXG4iLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=

출처

Olympiad > USA Computing Olympiad > 2003-2004 Season > USACO US Open 2004 Contest > Green 2번

  • 문제를 번역한 사람: author5