Hihocoder 1128 ??????·????????????
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hihocoder 1128 ??????·????????????相关的知识,希望对你有一定的参考价值。
?????????getc ?????? http ?????? ?????? const ?????? cout ?????????
????????????????????
??????
Nettle????????????????????????????????????Nettle???????????????????????????(??????????????????Nettle???????????????????????????????????????)??????????????????????????????????????????N(1???N???1,000,000)???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
Nettle???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Nettle??????????????????????????????????????????
?????????
Nettle??????????????????????????????????????????????????????????????????(a[1..N])??????????????????????????????????????????(??????????????????K)??????????????????????????????????????????a[i]=K??????i???????????????????????????????????????????????????
?????????
??????Nettle??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????
???1??????2?????????N,K???N?????????????????????K???????????????????????????
???2??????N??????????????????a[1..N]????????????????????????????????????1???a[i]???2,000,000,000???
??????
???1??????????????????t?????????K??????????????????t???????????????K????????????????????????-1???
- ????????????
-
10 5180 2970 663 5480 4192 4949 1 1387 4428 5180 2761
- ????????????
-
9
#include<cstring> #include<cstdio> #include<cstdlib> #include<algorithm> #include<iostream> #include<memory> #include<cmath> using namespace std; const int maxn=1000010; int a[maxn]; int read() { char c=getchar();int s=0; while(c>???9???||c<???0???) c=getchar(); while(c>=???0???&&c<=???9???){s=s*10+c-???0???;c=getchar();} return s; } int main() { int i,j,n,m; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) a[i]=read(); sort(a+1,a+n+1); j=lower_bound(a+1,a+n+1,m)-a; if(m==a[j]) cout<<j<<endl; else cout<<"-1"<<endl; return 0; }
#include<cstring> #include<cstdio> #include<cstdlib> #include<algorithm> #include<iostream> #include<memory> #include<cmath> using namespace std; const int maxn=1000010; int a[maxn]; int read() { char c=getchar();int s=0; while(c>???9???||c<???0???) c=getchar(); while(c>=???0???&&c<=???9???){s=s*10+c-???0???;c=getchar();} return s; } int main() { int i,j,n,m; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) a[i]=read(); sort(a+1,a+n+1); int L=1,R=n,mid; while(L<R){ mid=(L+R)/2; if(a[mid]<m) L=mid+1; else R=mid; } if(a[L]==m) printf("%d\n",L); else printf("-1\n"); return 0; }
以上是关于Hihocoder 1128 ??????·????????????的主要内容,如果未能解决你的问题,请参考以下文章