10分,就对了两点求助
查看原帖
10分,就对了两点求助
990262
dadadaV楼主2023/5/17 16:29
#include <iostream>
#include <vector>
#include <map>
#include<algorithm>
#include<cstdio>
#include<cmath>
using namespace std;

long long L, n, m, ans;vector<long long> v, u;

int ccmax(vector<long long> u) {
    long long z = u[0];
    for (long long i = 0;i < u.size();i++)
        if (u[i] > z)z = u[i];
    return z;
}

int main()
{
    cin >> L >> n >> m;
    for (long long i = 0;i < n;i++) {
        long long a;cin >> a;
        v.push_back(a);
    }
    for (long long i = 0;i < n - 1;i++) {
        u.push_back(v[i + 1] - v[i]);
    }

    for (long long i = 0;i < m;i++) {
        ans = ccmax(u);
        auto it = find(u.begin(), u.end(), ans);
        *it = (ans + 1) / 2;
    }
    ans = ccmax(u);

    cout << ans;

    return 0;
}
2023/5/17 16:29
加载中...