0
已解决
高子健
新手天翼
新手天翼
#include<iostream> using namespace std; int a[1001],b[30001]; int main(){ int t,n,s=0,x; cin>>n>>x; for(int i=1; i<=n; i++) { cin>>a[i]; b[a[i]]++; } for(int i=30000; i>=1; i--) { if(b[a[i]]!=0) s++; if(s>n) cout<<"NO RESULT"; else cout<<a[x]; break; } return 0; }
0
已采纳
张岳恒
资深光能
资深光能
第二个循环从小到大遍历
a[i]!=0
x就--
x剪完了
输出i
定义一个标志位为1
退出循环
外面判断标志位是否为零
是就输出
NO RESULT
0
0
陈曦
资深天翼
资深天翼
思路 1555
那么要找到倒数第3名,我们就从0步开始看:
a[0]==0 没人走0步,pass
a[1]>0 有人走了1步 ,那么倒数第一名是1步
a[2]>0 有人走了2步 ,那么倒数第二名是2步
a[3]==0 没人走3步,pass
a[4]>0 有人走了4步 ,那么倒数第三名是4步 ,找到了!
0
张海棠
中级守护
中级守护
1555输入:
cin>>n>>k;
for(i=1;i<=n;i++){
cin>>a[i];
b[a[i]]++;
if(maxx<a[i]){
maxx=a[i];
}
}
1555输出:
for(i=1;i<=maxx;i++){
if(b[i]>0){
c++;
if(c==k){
cout<<i;
break;
}
b[i]=0;
}
}
if(c<k){
cout<<"NO RESULT";
}
肯定AC 100分!!!
望采纳!!!!
0