知识点:

复合类型:

一维数组:

解法一:使用new(),动态申请内存。

解法二:官方解法。

解法三:vector

#include <algorithm>
#include <iterator>
#include <vector>
#include <iostream>
using namespace std;

int main() {
    int n;
    int t;
    int max;
    int min;
    int max_loc;
    int min_loc;
    vector<int> vec;

    cin >> n;

    for (int i = 0; i < n; i++) {
        cin >> t;
        vec.push_back(t);
    }

    max = *max_element(vec.begin(), vec.end());
    max_loc = distance(vec.begin(), max_element(vec.begin(), vec.end()));
    min = *min_element(vec.begin(), vec.end());

    // cout << "max=" << max << endl;
    // cout << "max_loc=" << max_loc << endl;

    // for (auto iter : vec) {
    //     cout << iter << " ";
    // }
    // cout << endl;

    // vec.erase(vec.begin() + max_loc);
    
    // for (auto iter : vec) {
    //     cout << iter << " ";
    // }
    cout << max - min;
    // vec.pop

    return 0;
}


// 解法二:官方解法
/*
int main() {
    int n;
    int max = 0;
    int min = 100;

    cin >> n;
    int arr[n + 1];

    for (int i = 0; i < n; i++) {
        cin >> arr[i];

        if (max < arr[i]) {
            max = arr[i];
        }

        if (min > arr[i]) {
            min = arr[i];
        }
    }

    cout << max - min;

    return 0;
}
*/

// 解法一:使用new(),动态申请内存
/*
int main() {
    int n;
    int max, min, res;

    cin >> n;

    int* arr = new int[n];

    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }

    max = *max_element(arr, arr + n);
    min = *min_element(arr, arr + n);

    res = max - min;

    cout << res;

    delete [] arr;

    return 0;
}
*/