AcWing 742. 最小数和它的位置
写在前面:AcWing是由北大一神级人物——“大雪菜” 创办的算法交流社区, 里面除了正常 oj 网站的功能之外, 还提供单人训练、双人匹配、云端操作系统等模式,除此之外不定期举行各种打卡活动,而且可以分享题解和心得,完全可以当成空间来玩。欢迎大家入坑。
点击前往:AcWing
题目描述
输入一个整数N和一个长度为N的整数数组X。
请你找到数组中最小的元素,并输出它的值和下标。
注意,如果有多个最小值,则返回下标最小的那个。
输入格式
第一行包含整数N。
第二行包含N个用空格隔开的整数X[i]。
输出格式
第一行输出“Minimum value: x”,其中x为数组元素最小值。
第二行输出“Position: y”,其中y为最小值元素的下标(下标从0开始计数)。
数据范围
1<N≤1000,
−1000≤X[i]≤1000
输入样例
10
1 2 3 4 -5 6 7 8 9 10
输出样例
Minimum value: -5
Position: 4
解题思路
正常做是不会正常做的, 用map他不爽么
已过代码
# include <iostream>
# include <map>
using namespace std;
int main (){
map <int,int>m;
int n;cin>>n;
int t;
for (int i=0;i<n;i++){
cin>>t;
m[t]==0?m[t]=i:m[t];
}
cout<<"Minimum value: "<<m.begin()->first<<endl;
cout<<"Position: "<<m.begin()->second<<endl;
}