试了几个例子好像我这个算法与楼主的结果一致,不知道对不对 #include <bits/stdc++.h> using namespace std; int main() { int a[5]; cin >> a[0] >> a[1] >> a[2] >> a[3] >> a[4]; sort(a, a + 5); int d1 = a[2] - a[1]; int d2 = a[3] - a[2]; int d3 = a[4] - a[3]; int ans = -1; if (a[0] < d1) { ans = a[1] + a[0]; } else { a[0] -= d1; if (a[0] < 2 * d2) { ans = a[2] + a[0] / 2; } else { a[0] -= 2 * d2; if (a[0] < 3 * d3) { ans = a[3] + a[0] / 3; } else { a[0] -= 3 * d3; ans = a[4] + a[0] / 4; } } } cout << ans << endl; }
1 1

相关推荐

牛客热帖

牛客网
牛客企业服务