问题标题: 酷町堂:酷町堂:5547 选择(min)

0
0
已解决
刘逸泽
刘逸泽
初级守护
初级守护

5547   选择(min)

经验值:800 时间限制:1000毫秒

庐阳区2020年信息学竞赛试题

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

正方体是特殊的长方体, 棱长都相等。有N个正方体,现在需要挑选出棱长最小的正方体。依次给定N个正方体的棱长(N1,N2,……,NN),输出棱长最小正方体的序号,若有多个,按照序号由小到大输出。

输入描述 Input Description

第一行一个整数N,
第二行,N个整数,依次表示序号1~序号N正方体的棱长。

输出描述 Output Description

一行, 一个或者多个整数,意义如题所述。

样例输入 Sample Input

8 9 2 5 4 3 9 2 6

样例输出 Sample Output

2 7

数据范围及提示 Data Size & Hint

对于30%的数据:
1<=N<=100,1<=Ni<=1000
对于50%的数据:1<=N<=1000,1<=Ni<=10000。
对于100%的数据:
1<=N<=100000,1<=Ni<=1000000

写了好多次,都不对。

一点思路都没有。

 


1
已采纳
李奕歌
李奕歌
初级天翼
初级天翼
不用结构体也可以
int n,a[100005],minn=100000;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        if(a[i]<minn) minn=a[i];
    }
    for(int i=1;i<=n;i++){
        if(a[i]==minn) cout<<i<<" ";
    }

望采纳

0
朱小川
朱小川
缔造者
缔造者

这个我还真不会

朱小川在2021-07-06 18:37:25追加了内容

1

0
陈梓恒
陈梓恒
初级守护
初级守护

结构体sort

struct node

{

int id,k;(下标,棱长)
}

最后sort

判断找最小的棱长,再找有几个

如果有K个

cout<<a[1].id<<" "<<a[2].id<<" "<<........<<a[k].id;

0
张恩泽
张恩泽
高级天翼
高级天翼

这题可以用结构题写,存正方体的棱长和序号

cmp函数里先按照棱长排序,再按照序号排序

sort一下,最后循环输出

0
我要回答