CCF GESP 2025年6月认证 C++ 3级

编程题
共 2 道 每题 25 分 共计 50 分
第 1 题
奇偶校验
时间限制:1s 内存限制:512MB

题目描述

数据在传输过程中可能出错,因此接收方收到数据后通常会校验传输的数据是否正确,奇偶校验是经典的校验方式之一。

给定 $n$ 个非负整数 $c_1, c_2, …, c_n$ 代表所传输的数据,它们的校验码取决于这些整数在二进制下的 $1$ 数量之和的奇偶性。如果这些整数在二进制下共有奇数个 $1$,那么校验码为 $1$;否则校验码为 $0$。你能求出这些整数的校验码吗?

输入格式

第一行,一个正整数 $n$,表示所传输的数据量。

第二行,$n$ 个非负整数 $c_1, c_2, …, c_n$,表示所传输的数据。

输出格式

输出一行,两个整数,以一个空格分隔:

第一个整数表示 $c_1, c_2, …, c_n$ 在二进制下 $1$ 的总数量;

第二个整数表示校验码($0$ 或 $1$)。

样例说明

样例 1

输入:
4
71 69 83 80
输出:
13 1

样例 2

输入:
6
1 2 4 8 16 32
输出:
6 0

数据范围

对于所有测试点,保证 $1 ≤ n ≤ 100,0 ≤ c_i ≤ 255$。

第 2 题
分糖果
时间限制:1s 内存限制:512MB

题目描述

有 $n$ 位小朋友排成一队等待老师分糖果。第 $i$ 位小朋友想要至少 $a_i$ 颗糖果,并且分给他的糖果数量必须比分给前一位小朋友的糖果数量更多,不然他就会不开心。

老师想知道至少需要准备多少颗糖果才能让所有小朋友都开心。你能帮帮老师吗?

输入格式

第一行,一个正整数 $n$,表示小朋友的人数。

第二行,$n$ 个正整数 $a_1,a_2,....a_n$,依次表示每位小朋友至少需要的糖果数量。

输出格式

输出一行,一个整数,表示最少需要准备的糖果数量。

样例说明

样例 1

输入:
4
1 4 3 3
输出:
16

样例 2

输入:
15
314 15926 53589793 238462643 383279502 8 8 4 1 9 7 1 6 9 3
输出:
4508143253

数据范围

对于所有测试点,保证 $1≤n≤1000,1≤a_i​≤10^9$。

编程题部分已到底了。