CCF GESP 2025年6月认证 C++ 3级
三
编程题
第 1 题
奇偶校验
题目描述
数据在传输过程中可能出错,因此接收方收到数据后通常会校验传输的数据是否正确,奇偶校验是经典的校验方式之一。
给定 $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 题
分糖果
题目描述
有 $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$。
编程题部分已到底了。