{"id":38,"date":"2022-06-04T10:52:00","date_gmt":"2022-06-04T02:52:00","guid":{"rendered":"http:\/\/ubuntu.tim-wcx.ltd\/wordpress\/index.php\/2022\/06\/04\/%e4%ba%8c%e5%88%86%e4%ba%8c%e5%88%86%e6%9f%a5%e6%89%be%e6%a8%a1%e6%9d%bf\/"},"modified":"2022-06-04T10:52:00","modified_gmt":"2022-06-04T02:52:00","slug":"%e4%ba%8c%e5%88%86%e4%ba%8c%e5%88%86%e6%9f%a5%e6%89%be%e6%a8%a1%e6%9d%bf","status":"publish","type":"post","link":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/2022\/06\/04\/%e4%ba%8c%e5%88%86%e4%ba%8c%e5%88%86%e6%9f%a5%e6%89%be%e6%a8%a1%e6%9d%bf\/","title":{"rendered":"\u4e8c\u5206+\u4e8c\u5206\u67e5\u627e\u6a21\u677f"},"content":{"rendered":"<p><svg  style=\"display: none;\">\n                        <path stroke-linecap=\"round\" d=\"M5,0 0,2.5 5,5z\" id=\"raphael-marker-block\" style=\"-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\"><\/path>\n                    <\/svg><\/p>\n<h3><a id=\"1k_0\"><\/a>1.\u67e5\u627e\u5143\u7d20k\u7684\u4f4d\u7f6e<\/h3>\n<h6><a id=\"_1\"><\/a>\u8f93\u5165<\/h6>\n<pre><code>3\n123 132 145\n1\n123\n<\/code><\/pre>\n<h6><a id=\"_8\"><\/a>\u8f93\u51fa<\/h6>\n<pre><code>1\n<\/code><\/pre>\n<h6><a id=\"_12\"><\/a>\u4ee3\u7801<\/h6>\n<pre><code class=\"prism language-cpp\"><span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(1)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(2)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(3,\"Ofast\",\"inline\")<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">include<\/span> <span class=\"token string\"><bits\/stdc++.h><\/span><\/span>\n<span class=\"token keyword\">using<\/span> <span class=\"token keyword\">namespace<\/span> std<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">typedef<\/span> <span class=\"token keyword\">long<\/span> <span class=\"token keyword\">long<\/span> ll<span class=\"token punctuation\">;<\/span>\nll a<span class=\"token punctuation\">[<\/span><span class=\"token number\">100500<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>\nll n<span class=\"token punctuation\">;<\/span>\nll <span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>ll k<span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    ll l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        ll mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            <span class=\"token keyword\">return<\/span> mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>n<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll m<span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll k<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>m<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lldn\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<h3><a id=\"2k_52\"><\/a>2.\u67e5\u627e\u7b2c\u4e00\u4e2a\u5927\u4e8e\u7b49\u4e8ek\u7684\u5143\u7d20\u4f4d\u7f6e<\/h3>\n<h6><a id=\"_53\"><\/a>\u8f93\u5165<\/h6>\n<pre><code>6\n1 2 2 3 3 4\n4\n1 2 3 4\n<\/code><\/pre>\n<h6><a id=\"_60\"><\/a>\u8f93\u51fa<\/h6>\n<pre><code>1\n2\n4\n6\n<\/code><\/pre>\n<h6><a id=\"_67\"><\/a>\u4ee3\u7801<\/h6>\n<pre><code class=\"prism language-cpp\"><span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(1)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(2)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(3,\"Ofast\",\"inline\")<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">include<\/span> <span class=\"token string\"><bits\/stdc++.h><\/span><\/span>\n<span class=\"token keyword\">using<\/span> <span class=\"token keyword\">namespace<\/span> std<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">typedef<\/span> <span class=\"token keyword\">long<\/span> <span class=\"token keyword\">long<\/span> ll<span class=\"token punctuation\">;<\/span>\nll a<span class=\"token punctuation\">[<\/span><span class=\"token number\">100500<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>\nll n<span class=\"token punctuation\">;<\/span>\nll <span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>ll k<span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    ll l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token comment\">\/\/\u641c\u7d22\u65f6\u5de6\u95ed\u53f3\u5f00,while\u5faa\u73afl<r\u5373\u53ef<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        ll mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">return<\/span> l<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>n<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll m<span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll k<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>m<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lldn\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<h3><a id=\"2k_107\"><\/a>2.\u67e5\u627e\u6700\u540e\u4e00\u4e2a\u5c0f\u4e8e\u7b49\u4e8ek\u7684\u5143\u7d20\u4f4d\u7f6e<\/h3>\n<h6><a id=\"_108\"><\/a>\u8f93\u5165<\/h6>\n<pre><code>6\n1 2 2 3 3 4\n4\n1 2 3 4\n<\/code><\/pre>\n<h6><a id=\"_115\"><\/a>\u8f93\u51fa<\/h6>\n<pre><code>1\n3\n5\n6\n<\/code><\/pre>\n<h6><a id=\"_122\"><\/a>\u4ee3\u7801<\/h6>\n<pre><code class=\"prism language-cpp\"><span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(1)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(2)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(3,\"Ofast\",\"inline\")<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">include<\/span> <span class=\"token string\"><bits\/stdc++.h><\/span><\/span>\n<span class=\"token keyword\">using<\/span> <span class=\"token keyword\">namespace<\/span> std<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">typedef<\/span> <span class=\"token keyword\">long<\/span> <span class=\"token keyword\">long<\/span> ll<span class=\"token punctuation\">;<\/span>\nll a<span class=\"token punctuation\">[<\/span><span class=\"token number\">100500<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>\nll n<span class=\"token punctuation\">;<\/span>\nll <span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>ll k<span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    ll l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        ll mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">return<\/span> l<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token comment\">\/\/ \u7531\u4e8el=mid+1 \u6240\u4ee5l\u4e0d\u662f\u7b54\u6848<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>n<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll m<span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll k<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>m<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lldn\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<p>\u7528\u4e8c\u5206\u6cd5\u89e3\u9898\u65f6\uff0cmid\u4e0a\u4e0b\u53d6\u503c\u6b63\u786e\u4e0e\u5426\u5173\u7cfb\u7a0b\u5e8f\u662f\u5426\u8fdb\u5165\u6b7b\u5faa\u73af\uff01\uff01<\/p>\n<p>\u5bf9\u4e0eif(test(mid)) l=mid;<br \/> else r=mid-1; \u5982\u679c\u7528 mid=(l+r)\/2 \u4f1a\u51fa\u73b0\u95ee\u9898\uff01\uff01\uff01 \u53d6l=3,r=4,\u4f1a\u53d1\u73b0\u7a0b\u5e8f\u6b7b\u5faa\u73af\uff01\uff01\uff01\u5f97\u7528 mid=l+(r-l+1)\/2;<\/p>\n<p>\u5bf9\u4e8eif(test(mid)) r=mid;<br \/> else l=mid+1; \u663e\u7136\u5f97\u7528mid=(l+r)\/2<\/p>\n<p>\u4e24\u79cd\u65b9\u5f0f\u4e00\u4e2a\u5411\u4e0a\uff0c\u4e00\u4e2a\u5411\u4e0b\u53d6\u6574\uff0c\u5177\u4f53\u95ee\u9898\u5177\u4f53\u5206\u6790\uff01\uff01<\/p>\n<p>\u53c2\u8003\u4e8e\uff1a<\/p>\n<p><a href=\"https:\/\/blog.csdn.net\/wakouboy\/article\/details\/22995997\">https:\/\/blog.csdn.net\/wakouboy\/article\/details\/22995997<\/a><\/p>\n<p><a href=\"https:\/\/www.jianshu.com\/p\/f3e3a84d7b8c\">https:\/\/www.jianshu.com\/p\/f3e3a84d7b8c<\/a><\/p>\n<p><a href=\"https:\/\/www.cnblogs.com\/luoxn28\/p\/5767571.html\">https:\/\/www.cnblogs.com\/luoxn28\/p\/5767571.html<\/a><\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\u5206\u5272\u7ebf&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p><a href=\"http:\/\/icpc.upc.edu.cn\/problem.php?cid=1405&#038;pid=9\">http:\/\/icpc.upc.edu.cn\/problem.php?cid=1405&#038;pid=9<\/a><\/p>\n<h6><a id=\"_183\"><\/a>\u9898\u76ee\u63cf\u8ff0<\/h6>\n<p>\u6709\u4e00\u5929\uff0c\u8d2a\u5403\u7684\u732a\u516b\u6212\u6765\u5230\u4e86\u4e00\u4e2a\u5927\u679c\u56ed\uff0c\u679c\u56ed\u91cc\u6709n(n\u2264100000)\u4e2a\u5927\u897f\u74dc\uff0c\u6bcf\u4e2a\u897f\u74dc \u7684\u8d28\u91cf\u4e0d\u5927\u4e8e\u957f\u6574\u578b(longint)\uff0c\u5e76\u4e14\u6bcf\u4e2a\u897f\u74dc\u7684\u8d28\u91cf\u90fd\u4e0d\u540c\u3002\u732a\u516b\u6212\u975e\u5e38\u65e0\u804a\uff0c\u5148\u628a\u6240\u6709\u7684\u897f\u74dc\u6309\u4ece\u5c0f\u5230\u5927\u6392\u5217\uff0c\u7136\u540e\u518d\u9009m(m\u2264l00000)\u4e2a\u8d28\u91cf\u662fKi\u7684\u897f\u74dc\uff0c\u8bf7\u4f60\u5e2e\u4ed6\u628a\u60f3\u5403\u7684\u897f\u74dc\u627e\u51fa\u6765\u3002<\/p>\n<h6><a id=\"_186\"><\/a>\u8f93\u5165<\/h6>\n<p>\u7b2c1\u884c\u8f93\u5165n\uff0c\u7136\u540e\u4ee5\u4e0bn\u884c\u8f93\u5165n\u4e2a\u6574\u6570\uff1b<br \/> \u63a5\u7740\u8f93\u5165m\uff0c\u7136\u540e\u4ee5\u4e0bm\u884c\uff0c\u6bcf\u884c\u4e00\u4e2a\u6574\u6570Ki\u3002<\/p>\n<h6><a id=\"_190\"><\/a>\u8f93\u51fa<\/h6>\n<p>\u8f93\u51fam\u884c\uff0c\u6bcf\u884c\u4e00\u4e2a\u6574\u6570\uff0c\u8868\u793a\u91cd\u65b0\u6392\u5217\u540e\uff0cKi\u5728\u8fd9N\u4e2a\u6570\u4e2d\u7684\u4f4d\u7f6e\u3002<\/p>\n<h6><a id=\"_193\"><\/a>\u6837\u4f8b\u8f93\u5165<\/h6>\n<pre><code>3\n132\n123\n145\n1\n123\n<\/code><\/pre>\n<h6><a id=\"_202\"><\/a>\u6837\u4f8b\u8f93\u51fa<\/h6>\n<pre><code>1\n<\/code><\/pre>\n<p>\u7b80\u5355\u7684\u6392\u5e8f+\u4e8c\u5206\u67e5\u627e<\/p>\n<pre><code class=\"prism language-cpp\"><span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(1)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(2)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(3,\"Ofast\",\"inline\")<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">include<\/span> <span class=\"token string\"><bits\/stdc++.h><\/span><\/span>\n<span class=\"token keyword\">using<\/span> <span class=\"token keyword\">namespace<\/span> std<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">typedef<\/span> <span class=\"token keyword\">long<\/span> <span class=\"token keyword\">long<\/span> ll<span class=\"token punctuation\">;<\/span>\nll a<span class=\"token punctuation\">[<\/span><span class=\"token number\">100500<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>\nll n<span class=\"token punctuation\">;<\/span>\nll <span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>ll k<span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    ll l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        ll mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            <span class=\"token keyword\">return<\/span> mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>n<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">sort<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>a<span class=\"token operator\">+<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll m<span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll k<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>m<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lldn\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<p><a href=\"http:\/\/icpc.upc.edu.cn\/problem.php?cid=1405&#038;pid=11\">http:\/\/icpc.upc.edu.cn\/problem.php?cid=1405&#038;pid=11<\/a><\/p>\n<h6><a id=\"_250\"><\/a>\u9898\u76ee\u63cf\u8ff0<\/h6>\n<p>\u6211\u6709\u5f88\u591a\uff08n\u6761\uff09\u73cd\u73e0\u9879\u94fe\uff0c\u6bcf\u5929\u6211\u90fd\u8981\u4ece\u4e2d\u6311\u4e00\u6761\u6234\u4e0a\u2026\u2026\u6311\u54ea\u6761\u5f88\u6709\u8bb2\u7a76\uff0c\u4e0d\u80fd\u592a\u96be\u770b\u4e5f\u4e0d\u80fd\u592a\u597d\u770b\u3002\u6240\u4ee5\u6211\u5e0c\u671b\u4f60\u80fd\u5e2e\u5e2e\u6211\uff0c\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\u2015\u2015\u6bcf\u5929\u5e2e\u6211\u7b97\u7b97\uff0c\u90a3\u5929\u6211\u80fd\u6234\u7684\u9879\u94fe\u6709\u591a\u5c11\u6761\u3002<\/p>\n<h6><a id=\"_253\"><\/a>\u8f93\u5165<\/h6>\n<p>\u7b2c1\u884c\u4e3a\u6b63\u6574\u6570n\uff0c\u8868\u793a\u9879\u94fe\u7684\u603b\u6761\u6570(n\u2264100000)\uff1b<br \/> \u7b2c2\u884c\u6709n\u4e2a\u6574\u6570\uff08\u4ee3\u8868\u6bcf\u6761\u9879\u94fe\u6676\u7684\u597d\u770b\u7a0b\u5ea6Xi\uff0c0\u2264Xi\u2264maxlongint\uff09\uff1b<br \/> \u7b2c3\u884c\u4e3a\u6b63\u6574\u6570m\uff0c\u8868\u793a\u603b\u5929\u6570(\u4e5f\u5c31\u662f\u603b\u8be2\u95ee\u6b21\u6570\uff0c\u5176\u4e2dm\u2264100000)\uff1b<br \/> \u4ee5\u4e0bm\u884c\uff0c\u6bcf\u884c\u4e24\u4e2a\u6574\u6570Ai\uff0cBi(1\u2264Ai\uff0cBi\u2264maxlongint)\uff0c\u8be2\u95ee\u597d\u770b\u7a0b\u5ea6\u5728Ai\u5230Bi\u4e4b\u95f4\u7684\u9879\u94fe\u6761\u6570\uff08\u542b\u7b49\u4e8eAi\u6216Bi\u7684\uff0cAi\u4e0eBi\u5927\u5c0f\u5173\u7cfb\u4e0d\u786e\u5b9a\uff09\u3002<\/p>\n<h6><a id=\"_259\"><\/a>\u8f93\u51fa<\/h6>\n<p>\u8f93\u51fam\u884c\uff0c\u5bf9\u4e8e\u6bcf\u6b21\u8be2\u95ee\u8f93\u51fa\u4e00\u884c\uff0c\u4eceAi\u5230Bi(\u542bAi\uff0cBi)\u597d\u770b\u7a0b\u5ea6\u5728Ai\u5230Bi\u4e4b\u95f4\u7684\u9879\u94fe\u6761\u6570\u3002<\/p>\n<h6><a id=\"_262\"><\/a>\u6837\u4f8b\u8f93\u5165<\/h6>\n<pre><code>7\n8 2 3 5 6 7 7\n6\n1 5\n8 6\n1 10\n5 5\n4 4\n7 8\n<\/code><\/pre>\n<h6><a id=\"_274\"><\/a>\u6837\u4f8b\u8f93\u51fa<\/h6>\n<pre><code>3\n4\n7\n1\n0\n3\n<\/code><\/pre>\n<p>\u67e5\u627e\u5de6\u53f3\u8fb9\u754c\u505a\u5dee\u5373\u53ef\u3002<\/p>\n<pre><code class=\"prism language-cpp\"><span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(1)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(2)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(3,\"Ofast\",\"inline\")<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">include<\/span> <span class=\"token string\"><bits\/stdc++.h><\/span><\/span>\n<span class=\"token keyword\">using<\/span> <span class=\"token keyword\">namespace<\/span> std<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">typedef<\/span> <span class=\"token keyword\">long<\/span> <span class=\"token keyword\">long<\/span> ll<span class=\"token punctuation\">;<\/span>\nll a<span class=\"token punctuation\">[<\/span><span class=\"token number\">100500<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>\nll n<span class=\"token punctuation\">;<\/span>\nll <span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>ll k<span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    ll l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        ll mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">return<\/span> l<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\nll <span class=\"token function\">find2<\/span><span class=\"token punctuation\">(<\/span>ll k<span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    ll l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        ll mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">return<\/span> l<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>n<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">sort<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>a<span class=\"token operator\">+<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll m<span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll o<span class=\"token punctuation\">,<\/span>p<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>m<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>o<span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>p<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>o<span class=\"token operator\">><\/span>p<span class=\"token punctuation\">)<\/span>\n            <span class=\"token function\">swap<\/span><span class=\"token punctuation\">(<\/span>o<span class=\"token punctuation\">,<\/span>p<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lldn\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">-<\/span><span class=\"token function\">find2<\/span><span class=\"token punctuation\">(<\/span>o<span class=\"token punctuation\">)<\/span><span class=\"token operator\">+<\/span><span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>p<span class=\"token punctuation\">)<\/span><span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<p><a href=\"http:\/\/icpc.upc.edu.cn\/problem.php?cid=1405&#038;pid=10\">http:\/\/icpc.upc.edu.cn\/problem.php?cid=1405&#038;pid=10<\/a><\/p>\n<h6><a id=\"_343\"><\/a>\u9898\u76ee\u63cf\u8ff0<\/h6>\n<p>\u4e07\u5723\u8282\u53c8\u5230\u4e86\uff01FJ\u6253\u7b97\u5e26\u4ed6\u7684\u5976\u725b\u53bb\u53c2\u52a0\u5316\u88c5\u665a\u4f1a\uff0c\u4f46\u662f\uff0cFJ\u53ea\u505a\u4e86\u4e00\u5957\u80fd\u5bb9\u4e0b\u4e24\u5934\u603b\u957f\u4e0d\u8d85\u8fc7S (1\u2264S\u22641000000)\u7684\u5976\u725b\u6050\u6016\u670d\u88c5\u3002FJ\u517b\u4e86N(2\u2264N\u226420000)\u5934\u63091\u2013N\u987a\u5e8f\u7f16\u53f7\u7684\u5976\u725b\uff0c\u7f16\u53f7\u4e3ai\u7684\u5976\u725b\u7684\u957f\u5ea6\u4e3aL_i(1\u2264L_i\u22641000000)\u3002\u5982\u679c\u4e24\u5934\u5976\u725b\u7684\u603b\u957f\u5ea6\u4e0d\u8d85\u8fc7S\uff0c\u90a3\u4e48\u5979\u4eec\u5c31\u80fd\u7a7f\u4e0b\u8fd9\u5957\u670d\u88c5\u3002<br \/> FJ\u60f3\u77e5\u9053\uff0c\u5982\u679c\u4ed6\u60f3\u9009\u62e9\u4e24\u5934\u4e0d\u540c\u7684\u5976\u725b\u6765\u7a7f\u8fd9\u5957\u8863\u670d\uff0c\u4e00\u5171\u6709\u591a\u5c11\u79cd\u6ee1\u8db3\u6761\u4ef6\u7684\u65b9\u6848\u3002<\/p>\n<h6><a id=\"_347\"><\/a>\u8f93\u5165<\/h6>\n<p>\u7b2c1\u884c\u662f2\u4e2a\u6574\u6570\uff1aN\u548cS\uff1b<br \/> \u7b2c2\uff5eN+l\u884c\u6bcf\u884c\u4e00\u4e2a\u6574\u6570\uff1aL_i\u3002<\/p>\n<h6><a id=\"_351\"><\/a>\u8f93\u51fa<\/h6>\n<p>1\u4e2a\u6574\u6570\uff0c\u8868\u793aFJ\u53ef\u9009\u62e9\u7684\u6240\u6709\u65b9\u6848\u6570\u3002\u6ce8\u610f\u5976\u725b\u987a\u5e8f\u4e0d\u540c\u7684\u4e24\u79cd\u65b9\u6848\u662f\u88ab\u89c6\u4e3a\u76f8\u540c\u7684\u3002<\/p>\n<h6><a id=\"_354\"><\/a>\u6837\u4f8b\u8f93\u5165<\/h6>\n<pre><code>4 6\n3\n5\n2\n1\n<\/code><\/pre>\n<h6><a id=\"_362\"><\/a>\u6837\u4f8b\u8f93\u51fa<\/h6>\n<pre><code>4\n<\/code><\/pre>\n<h6><a id=\"_366\"><\/a>\u63d0\u793a<\/h6>\n<p>\u6837\u4f8b\u8bf4\u660e\uff1a4\u79cd\u9009\u62e9\u5206\u522b\u4e3a\uff1a\u5976\u725b1\u548c\u5976\u725b3\uff1b\u5976\u725bl\u548c\u5976\u725b4\uff1b\u5976\u725b2\u548c\u5976\u725b4\uff1b\u5976\u725b3\u548c\u5976\u725b4\u3002<br \/> \u4e8c\u5206\uff0c\u67e5\u627e\u7b26\u5408\u6761\u4ef6\u7684\u4e0a\u754c\u6c42\u548c\u5373\u53ef\u3002<\/p>\n<pre><code class=\"prism language-cpp\"><span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(1)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(2)<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">pragma<\/span> GCC optimize(3,\"Ofast\",\"inline\")<\/span>\n<span class=\"token macro property\">#<span class=\"token directive keyword\">include<\/span> <span class=\"token string\"><bits\/stdc++.h><\/span><\/span>\n<span class=\"token keyword\">using<\/span> <span class=\"token keyword\">namespace<\/span> std<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">typedef<\/span> <span class=\"token keyword\">long<\/span> <span class=\"token keyword\">long<\/span> ll<span class=\"token punctuation\">;<\/span>\nll a<span class=\"token punctuation\">[<\/span><span class=\"token number\">100500<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>\nll n<span class=\"token punctuation\">,<\/span>k<span class=\"token punctuation\">;<\/span>\nll <span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>ll k<span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    ll l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        ll mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">return<\/span> l<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>n<span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>k<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%lld\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">sort<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>a<span class=\"token operator\">+<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    ll sum<span class=\"token operator\">=<\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span>ll i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span>i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        ll w<span class=\"token operator\">=<\/span><span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>k<span class=\"token operator\">-<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>i<span class=\"token operator\"><=<\/span>w<span class=\"token punctuation\">)<\/span>\n            w<span class=\"token operator\">--<\/span><span class=\"token punctuation\">;<\/span>\n        sum<span class=\"token operator\">+<\/span><span class=\"token operator\">=<\/span>w<span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    cout<span class=\"token operator\"><<<\/span>sum<span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token operator\"><<<\/span>endl<span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n<p>\u9644\u4e0a\u4e00\u4efd\u4e8c\u5206\u67e5\u627e\u7684\u6a21\u677f<\/p>\n<pre><code class=\"prism language-cpp\"><span class=\"token macro property\">#<span class=\"token directive keyword\">include<\/span> <span class=\"token string\"><bits\/stdc++.h><\/span><\/span>\n\n<span class=\"token keyword\">using<\/span> <span class=\"token keyword\">namespace<\/span> std<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">int<\/span> a<span class=\"token punctuation\">[<\/span><span class=\"token number\">100500<\/span><span class=\"token punctuation\">]<\/span><span class=\"token operator\">=<\/span> <span class=\"token punctuation\">{<!-- --><\/span><span class=\"token number\">0<\/span><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">;<\/span>  <span class=\"token comment\">\/\/\/\u4ece\u5c0f\u5230\u5927\u6392\u5e8f<\/span>\n<span class=\"token keyword\">int<\/span> n<span class=\"token punctuation\">,<\/span>m<span class=\"token punctuation\">;<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> k<span class=\"token punctuation\">)<\/span>     <span class=\"token comment\">\/\/\/\u67e5\u627e\u67d0\u4e00\u4e2a\u6570\u7b2c\u4e00\u6b21\u51fa\u73b0\u7684\u4f4d\u7f6e<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token keyword\">int<\/span> l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token punctuation\">,<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>       <span class=\"token comment\">\/\/\/while\u5faa\u73af\u6761\u4ef6\u4e3al<r,\u5219\u8df3\u51fa\u5faa\u73af\u65f6l==r,\u51cf\u5c11\u5bf9\u8fd4\u56de\u503c\u7684\u8003\u8651<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token comment\">\/\/\/\u7531\u4e8e\u662fl=mid+1,\u5efa\u8bae\u7528(l+r)\/2<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>r<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n        <span class=\"token keyword\">return<\/span> r<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">else<\/span>\n        <span class=\"token keyword\">return<\/span> <span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">find2<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> k<span class=\"token punctuation\">)<\/span>     <span class=\"token comment\">\/\/\/\u67e5\u627e\u67d0\u4e00\u4e2a\u6570\u6700\u540e\u4e00\u6b21\u51fa\u73b0\u7684\u4f4d\u7f6e<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token keyword\">int<\/span> l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token punctuation\">,<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token comment\">\/\/\/\u7531\u4e8e\u662fr=mid-1,\u5efa\u8bae\u7528(l+r+1)\/2<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>l<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n        <span class=\"token keyword\">return<\/span> l<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">else<\/span>\n        <span class=\"token keyword\">return<\/span> <span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">find3<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> k<span class=\"token punctuation\">)<\/span>     <span class=\"token comment\">\/\/\/\u67e5\u627e\u7b2c\u4e00\u4e2a\u5927\u4e8e\u7b49\u4e8ek\u7684\u5143\u7d20\u4f4d\u7f6e<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token keyword\">int<\/span> l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token punctuation\">,<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token comment\">\/\/\/\u7531\u4e8e\u662fl=mid+1,\u5efa\u8bae\u7528(l+r)\/2<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>l<span class=\"token punctuation\">]<\/span><span class=\"token operator\">>=<\/span>k<span class=\"token punctuation\">)<\/span>\n        <span class=\"token keyword\">return<\/span> l<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">else<\/span>\n        <span class=\"token keyword\">return<\/span> <span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">find4<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> k<span class=\"token punctuation\">)<\/span>     <span class=\"token comment\">\/\/\/\u67e5\u627e\u7b2c\u4e00\u4e2a\u5927\u4e8ek\u7684\u5143\u7d20\u4f4d\u7f6e<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token keyword\">int<\/span> l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token punctuation\">,<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token comment\">\/\/\/\u7531\u4e8e\u662fl=mid+1,\u5efa\u8bae\u7528(l+r)\/2<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>l<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n        <span class=\"token keyword\">return<\/span> l<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">else<\/span>\n        <span class=\"token keyword\">return<\/span> <span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">find5<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> k<span class=\"token punctuation\">)<\/span>       <span class=\"token comment\">\/\/\/\u67e5\u627e\u6700\u540e\u4e00\u4e2a\u5c0f\u4e8e\u7b49\u4e8ek\u7684\u5143\u7d20\u4f4d\u7f6e<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token keyword\">int<\/span> l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token punctuation\">,<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token comment\">\/\/\/\u7531\u4e8e\u662fr=mid-1,\u5efa\u8bae\u7528(l+r+1)\/2<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>l<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><=<\/span>k<span class=\"token punctuation\">)<\/span>\n        <span class=\"token keyword\">return<\/span> l<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">else<\/span>\n        <span class=\"token keyword\">return<\/span> <span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">find6<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> k<span class=\"token punctuation\">)<\/span>       <span class=\"token comment\">\/\/\/\u67e5\u627e\u6700\u540e\u4e00\u4e2a\u5c0f\u4e8ek\u7684\u5143\u7d20\u4f4d\u7f6e<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token keyword\">int<\/span> l<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>r<span class=\"token operator\">=<\/span>n<span class=\"token punctuation\">,<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\"><<\/span>r<span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        mid<span class=\"token operator\">=<\/span><span class=\"token punctuation\">(<\/span>l<span class=\"token operator\">+<\/span>r<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token operator\">\/<\/span><span class=\"token number\">2<\/span><span class=\"token punctuation\">;<\/span> <span class=\"token comment\">\/\/\/\u7531\u4e8e\u662fr=mid-1,\u5efa\u8bae\u7528(l+r+1)\/2<\/span>\n        <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">==<\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\">><\/span>k<span class=\"token punctuation\">)<\/span>\n            r<span class=\"token operator\">=<\/span>mid<span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>mid<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n            l<span class=\"token operator\">=<\/span>mid<span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n    <span class=\"token keyword\">if<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token punctuation\">[<\/span>l<span class=\"token punctuation\">]<\/span><span class=\"token operator\"><<\/span>k<span class=\"token punctuation\">)<\/span>\n        <span class=\"token keyword\">return<\/span> l<span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">else<\/span>\n        <span class=\"token keyword\">return<\/span> <span class=\"token operator\">-<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span>\n<span class=\"token punctuation\">}<\/span>\n<span class=\"token keyword\">int<\/span> <span class=\"token function\">main<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span>\n<span class=\"token punctuation\">{<!-- --><\/span>\n    <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u8bf7\u8f93\u5165\u6570\u5b57\u4e2a\u6570:n\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%d\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>n<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u8bf7\u8f93\u5165\u4e00\u884c\u6570\u5b57,\u4e0d\u5fc5\u5206\u524d\u540e\u987a\u5e8f:n\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">for<\/span><span class=\"token punctuation\">(<\/span><span class=\"token keyword\">int<\/span> i<span class=\"token operator\">=<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">;<\/span> i<span class=\"token operator\"><=<\/span>n<span class=\"token punctuation\">;<\/span> i<span class=\"token operator\">++<\/span><span class=\"token punctuation\">)<\/span>\n        <span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%d\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>a<span class=\"token punctuation\">[<\/span>i<span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">sort<\/span><span class=\"token punctuation\">(<\/span>a<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">,<\/span>a<span class=\"token operator\">+<\/span>n<span class=\"token operator\">+<\/span><span class=\"token number\">1<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u8bf7\u8f93\u5165\u8981\u67e5\u8be2\u7684\u6570\u5b57:n\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token keyword\">while<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">scanf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%d\"<\/span><span class=\"token punctuation\">,<\/span><span class=\"token operator\">&<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token operator\">!=<\/span><span class=\"token constant\">EOF<\/span><span class=\"token punctuation\">)<\/span>\n    <span class=\"token punctuation\">{<!-- --><\/span>\n        <span class=\"token keyword\">int<\/span> ans1<span class=\"token punctuation\">,<\/span>ans2<span class=\"token punctuation\">,<\/span>ans3<span class=\"token punctuation\">,<\/span>ans4<span class=\"token punctuation\">,<\/span>ans5<span class=\"token punctuation\">,<\/span>ans6<span class=\"token punctuation\">;<\/span>\n        ans1<span class=\"token operator\">=<\/span><span class=\"token function\">find1<\/span><span class=\"token punctuation\">(<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        ans2<span class=\"token operator\">=<\/span><span class=\"token function\">find2<\/span><span class=\"token punctuation\">(<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        ans3<span class=\"token operator\">=<\/span><span class=\"token function\">find3<\/span><span class=\"token punctuation\">(<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        ans4<span class=\"token operator\">=<\/span><span class=\"token function\">find4<\/span><span class=\"token punctuation\">(<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        ans5<span class=\"token operator\">=<\/span><span class=\"token function\">find5<\/span><span class=\"token punctuation\">(<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        ans6<span class=\"token operator\">=<\/span><span class=\"token function\">find6<\/span><span class=\"token punctuation\">(<\/span>m<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%d \u7b2c\u4e00\u6b21\u51fa\u73b0\u7684\u4f4d\u7f6e\u4e3a %dn\"<\/span><span class=\"token punctuation\">,<\/span>m<span class=\"token punctuation\">,<\/span>ans1<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"%d \u6700\u540e\u4e00\u6b21\u51fa\u73b0\u7684\u4f4d\u7f6e\u4e3a %dn\"<\/span><span class=\"token punctuation\">,<\/span>m<span class=\"token punctuation\">,<\/span>ans2<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u7b2c\u4e00\u4e2a\u5927\u4e8e\u7b49\u4e8e\u6570\u5b57 %d \u7684\u4f4d\u7f6e\u4e3a %dn\"<\/span><span class=\"token punctuation\">,<\/span>m<span class=\"token punctuation\">,<\/span>ans3<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u7b2c\u4e00\u4e2a\u5927\u4e8e\u6570\u5b57 %d \u7684\u4f4d\u7f6e\u4e3a %dn\"<\/span><span class=\"token punctuation\">,<\/span>m<span class=\"token punctuation\">,<\/span>ans4<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u6700\u540e\u4e00\u4e2a\u5c0f\u4e8e\u7b49\u4e8e\u6570\u5b57 %d \u7684\u4f4d\u7f6e\u4e3a %dn\"<\/span><span class=\"token punctuation\">,<\/span>m<span class=\"token punctuation\">,<\/span>ans5<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u6700\u540e\u4e00\u4e2a\u5c0f\u4e8e\u6570\u5b57 %d \u7684\u4f4d\u7f6e\u4e3a %dn\"<\/span><span class=\"token punctuation\">,<\/span>m<span class=\"token punctuation\">,<\/span>ans6<span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n        <span class=\"token function\">printf<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">\"\u8bf7\u8f93\u5165\u8981\u67e5\u8be2\u7684\u6570\u5b57:n\"<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span>\n    <span class=\"token punctuation\">}<\/span>\n<span class=\"token punctuation\">}<\/span>\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1.\u67e5\u627e\u5143\u7d20k\u7684\u4f4d\u7f6e \u8f93\u5165 3 123 132 1&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-38","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/posts\/38","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/comments?post=38"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/posts\/38\/revisions"}],"wp:attachment":[{"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/media?parent=38"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/categories?post=38"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.tim-wcx.ltd\/index.php\/wp-json\/wp\/v2\/tags?post=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}