c++快速获取一维数组最小值以及编号

现在有一个特别大的数组需要处理,请问应该如何快速获取这个数组的最小值以及他的编号,速度越快越好,因为要处理的数据量挺大,所以希望可以快速获取数组的最小值以及对应编号

参考代码与自己的思路

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,minn=0x3f3f3f3f,minnx=0x3f3f3f3f;//数字总数,最小值,最小值的下标 
    cin>>n;//输入数字总数 
    for(int i=1; i<=n; i++){//循环n次 
        int t;//数字 
        cin>>t;//输入数字 
        if(t<minn){//如果数字小于目前的最小值 
            minnx=i;//最小值的下标为数字的下标 
            minn=t;//最小值更新为数字 
        }
    }
    printf("%d\n%d",minn,minnx);//输出最小值和最小值的下标 
    return 0;
}