问题标题: 酷町堂:1167 植树积分 15分Time Limit Exceeded

0
0
已解决
周俊豪
周俊豪
高级光能
高级光能
#include<bits/stdc++.h>
using namespace std;
int main(){
    int a[100010],n,t,b[100010];
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i]; 
        b[i]=i;
    } 
    for(int i=1;i<=n-1;i++){
        for(int j=i+1;j<=n;j++){
            if(a[i]<a[j]){
                swap(a[i],a[j]);
                swap(b[i],b[j]);
            }
        }
    }
    for(int i=3;i>=1;i--){
        cout<<b[i]<<" ";
    }
    cout<<endl;
    for(int i=1;i<=n-1;i++){
        for(int j=i+1;j<=n;j++){
            if(a[i]>a[j]){
                swap(a[i],a[j]);
                swap(b[i],b[j]);
            }
        }
    }
    for(int i=1;i<=3;i++){
        cout<<b[i]<<" ";
    }
    return 0;
}

请问是要用sort吗!

咋用?

谢谢!


0
0
0
赵天乐
赵天乐
高级守护
高级守护

核心:

   sort(a+1,a+1+n,cmp);
    int b[3]={a[1].i,a[2].i,a[3].i}; 
    int c[3]={a[n].i,a[n-1].i,a[n-2].i};
    sort(b,b+3);
    sort(c,c+3);

cmp:

bool cmp(node a,node b)
{
    return a.x>b.x;
}

还有怎么简单你不会!!!!!!!!!!!!!!!!!??????????????????????????????????????????????????

我要回答