GESP2025年6月认证C++三级( 第三部分编程题(2)分糖果)
参考程序:
#include <cstdio>
#include <algorithm> // 用到 max 函数
using namespace std;const int N = 1005; // 最大人数为 1000,数组稍大一点
int n, a[N]; // n 表示人数,a 数组存储每个人的糖果需求
long long ans; // ans 用来存储总共需要的糖果数量,防止爆 int 所以用 long longint main() {scanf("%d", &n); // 输入人数for (int i = 1; i <= n; i++) {scanf("%d", &a[i]); // 读入每个人的最少需求// 更新当前人实际分到的糖果数,至少是他自己的需求,同时也要比前一个人多a[i] = max(a[i - 1] + 1, a[i]);ans += a[i]; // 加到总数上}printf("%lld\n", ans); // 输出最少需要的糖果总数return 0;
}