问题标题: 酷町堂:1762

0
0
已解决
邓涵睿
邓涵睿
中级天翼
中级天翼
#include<iostream> 
using namespace std;
int n,t;
long long a[100000005];
int main(){
    int k;
    cin>>n>>k;
    for(int i=1;i<=n;i++){
		cin>>a[i];
    }
    for(int i=1;i<=n-1;i++){
		for(int j=1;j<=n-i;j++){
			if(i==a[k]){
				  t+=i;
			}
		}
	}
    cout<<t;
    return 0;
}

快来人啊

邓涵睿在2020-11-04 16:23:41追加了内容

我要加豆了!


0
已采纳
李显晨
李显晨
中级启示者
中级启示者

这题你把它复杂化了

你可以先给它从小到大排序,然后再直接输出a[k]

for(int i=1;i<=n-1;i++){
		bool f=0;
		for(int j=1;j<=n-i;j++){
			if(a[j]>a[j+1]){
				swap(a[j],a[j+1]);
				f=1;
			}
		}
		if(f==0) break;
	}
cout<<a[k];

核心代码,选择排序优化

望采纳,谢谢!!!

李显晨在2020-11-04 17:03:48追加了内容

不小心写错了,是冒泡优化

0
0
我要回答