问题标题: 酷町堂:1167 植树积分(points)

0
0
已解决
陈曦
陈曦
资深天翼
资深天翼

题目传送门

我的 报错 代码:

 

#include<iostream>
#include<algorithm>
using namespace std;
int m,n,sum;
struct node{
    int p,num;
}a[100005];
int b[100005],c[100005];
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].p;
    }
    for(int i=1;i<=n;i++){
        a[i].num=i;
    }
    sort(a+1,a+n+1);
    for(int i=n-3+1;i<=n;i++){
        b[i]=a[i].num;
    }
    sort(b+1,b+3+1);
    for(int i=n-3+1;i<=n;i++){
        cout<<b[i]<<" ";
    }
    cout<<endl;
    for(int i=1;i<=3;i++){
        c[i]=a[i].num;
    }
    sort(c+1,c+3+1);
    for(int i=1;i<=3;i++){
        cout<<c[i]<<" ";
    }
    return 0;
}

请找错。


1
已采纳
尤博扬
尤博扬
初级光能
初级光能

你们这么多完整代码,举报不谢!

0
康曦
康曦
中级光能
中级光能

我的代码

#include<iostream>
#include<algorithm>
using namespace std;
struct kx{
    int f,m;
}a[100100];
bool cmp(kx a,kx b){
    return a.m>b.m;
}
bool pel(kx a,kx b){
    return a.f<b.f;
}
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].m;
        a[i].f=i;
    } 
    sort(a+1,a+1+n,cmp);
    sort(a+1,a+4,pel);
    sort(a+n-2,a+n-2+3,pel);
    for(int i=1;i<=3;i++){
        cout<<a[i].f<<" ";
    }
    cout<<endl;
    for(int i=n-2;i<=n;i++){
        cout<<a[i].f<<" ";
    }
} 

WA了7次

0
李显晨
李显晨
中级启示者
中级启示者

This is my AC 代码

#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
struct stu{
    int fen,pos;
}a[110000];
bool cmp1(stu x,stu y){
    return x.fen>y.fen;
}
bool cmp2(stu x,stu y){
    return x.pos<y.pos;
}
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].fen;
        a[i].pos=i;
    }
    sort(a+1,a+n+1,cmp1);
    sort(a+1,a+3+1,cmp2);
    sort(a+n-2,a+n+1,cmp2);
    cout<<a[1].pos<<" "<<a[2].pos<<" "<<a[3].pos<<endl<<a[n-2].pos<<" "<<a[n-1].pos<<" "<<a[n].pos;
    return 0;
}

望采纳

0
李明阳
李明阳
初级光能
初级光能

这题你肯定要结构体排序啊

结构体排序

这是输出

这是中间的输入

完美AC

一个班的望采纳

0
潘一鸣
潘一鸣
初级守护
初级守护

奉上我的AC代码

        #include <iostream>

  • #include <algorithm>
  • using namespace std;
  • int n;
  • struct student{
  • int no;
  • int score;
  • };
  • student a[100010];
  • bool cmp(student x,student y){
  • return x.score>y.score;
  • }
  • bool cmp1(student x,student y)
  • {
  • return x.no<y.no;
  • }
  • int main(){
  • int i;
  • cin>>n;
  • for(i=1;i<=n;i++){
  • a[i].no=i;
  • cin>>a[i].score;
  • }
  • sort(a+1,a+n+1,cmp);
  • sort(a+1,a+4,cmp1);
  • sort(a+n-2,a+n+1,cmp1);
  • for(i=1;i<=3;i++){
  • cout<<a[i].no<<" ";
  • }
  • cout<<endl;
  • for(i=n-2;i<=n;i++){
  • cout<<a[i].no<<" ";
  • }
  • return 0;
  • }
我要回答