一、上半场

1.最大回文数

【题目描述】

回文数指的是一个数字,从左到右读和从右到左读都一样。例如,1221
和 1234321 是回文数,1234 不是回文数。现有 n 个正整数 ai
(i=0,1,2,3,…..n-1),请找出其中最大的回文数。

【输入描述】

输入文件名为 number.in
输入文件的第一行只有一个正整数 n,代表正整数 ai 的个数。
接下来的 n 行,每行包含一个正整数 ai。输入保证一定有回文数。

【输出描述】

输出文件名为 number.out
输出文件一行,一个正整数,即最大的回文数。

【输入样例1】

3
4718
1221
121

【输出样例1】

1221

【输入样例1说明】

回文数有 1221 和 121,最大的回文数是 1221。

【输入样例2】

5
3944
953
8
75739
46

【输出样例2】

8

【输入样例2说明】

回文数只有一个 8,因此最大的回文数就是 8。

【数据说明】

对于 30%的数据,1 ≤ n ≤ 100,1 ≤ ai ≤ 10^8。
对于 60%的数据,1 ≤ n ≤ 1000,1 ≤ ai ≤ 10^16。
对于 100%的数据,1 ≤ n ≤ 10^32。



2.勇敢的津津

【题目描述】

津津是个勇敢的孩子,总是做一些挑战自己的事情。一天津津来到一
条宽为 L 米的小河边,河道的一边到另一边需要途径 N 块较大的石墩,每
块石墩到这一边岸边之间距离 xi 米(石墩不占距离,只考虑石墩的中间点
到这一边岸边之间距离)。津津想踩着这些石墩从小河的这一边跳到另一
边(不落入水中),一次可以跳过几块石墩。已知津津每次最多跳 M 米的
距离,那么津津最少跳几次就能从这一边跳到另一边?

【输入描述】

第一行包含三个整数 L,N, M,分别小河的宽度、石墩数和津津跳的 最远距离。 接下来 N 行,每行一个整数,第 i 行的整数 di( 0<di<L)表示第 i 块石墩与这一边岸边的距离,保证石墩之间的距离和石墩到这一边岸边的距离小等于 M。这些石墩按与起点距离从小到大的顺序给出,且不会有两个石墩出现在同一个位置。

【输出描述】

一个整数,即最少的跳跃次数。

【样例输入1】

10 4 2
2
4
6
8

【样例输出1】

5

【样例输入2】

25 5 10
2
11
14
17
21

【样例输出2】

4

【样例解释】

样例一:津津可以从岸边跳到距离为 2 石墩上,然后跳到距离为 4 的
石墩上,再跳到距离为 6 的石墩上,再跳到距离为 8 的石墩上,最后跳的
对岸。总共 5 跳跃。
样例二:津津可以从岸边跳到距离为 2 石墩上,然后跳到距离为 11 的
石墩上,再跳到距离为 21 的石墩上,最后跳的对岸。总共 4 跳跃。

【数据范围】

对于 30% 的数据,1≤N≤10。
对于 50% 的数据,1≤N≤100。
对于 100%的数据,1≤N≤500,1≤M,L≤1,000,000。



二、下半场

3.侠盗阿飞

【题目描述】

侠盗阿飞获得了一笔意外之财 w 元钱,他想用这笔钱去帮助需要帮助
的人。现在知道有 n 个需要帮助的人以及他们每个人需要的钱数 xi 元
(i=0,1,2,3,…..n-1),阿飞应该如何支配这笔钱使得能得到帮助的人
数最多?

【输入描述】

第一行:两个数,阿飞的钱数 w,需要帮助的人数 n。
第二行:n 个数,分别表示第 i 个人需要的钱数 xi。

【输出描述】

只有一个整数,表示阿飞最多能帮到的人数(最多的人数)。

【样例输入1】

10 5
1 2 3 4 5

【样例输出1】

4

【样例输入2】

1000 10
20 20 150 110 180 50 200 140 120 200

【样例输出2】

9

【数据范围】
对于 30% 的数据,xi 为升序序列(x0<x1<x2<x3<…

对于 100%的数据,0≤n≤500, 0<xi≤50000,0≤w≤2*10^9


4.分糖果

【题目描述】

老师组织一群孩子围成一个圈进行游戏,游戏结束后老师会根据每个
孩子的表现进行评分并给予糖果奖励。
每个孩子只能看见与自己相邻的 2 个孩子(左边的和右边的)的情况,
只会关心相邻的且比自己评分低的同学的糖果数(如果相邻 2 个孩子的评分
相等,则不关心)。为保证公平,相邻的孩子中,评分高的孩子必须获得更
多的糖果(如果左右相邻 2 个孩子的评分相等,则不关心,即分最少的糖果
1 个)。同时,为鼓励孩子的积极性,每个孩子至少都能拿到 1 个糖果。
现在需要你帮助老师来分发糖果,问怎么分配才能使要准备的糖果数
最少?计算出需要的最少糖果数。

【输入描述】

输入文件名为 candy.in。
输入有二行,第一行一个正整数 n 表示孩子的个数。
第二行 n 个非负整数,相邻的数用空格隔开,分别表示孩子的表现评
分。

【输出描述】

输出文件名为 candy.out。
一个整数,表示最少需要准备的糖果数。

【样例输入1】

3
1 2 0

【样例输出1】

6

【样例输入2】

4
2 3 3 3

【样例输出2】

6

【数据范围】

对于 40% 的数据,1<=n<=100;

对于 100%的数据,1<=n<=100000; 所有评分都是 0 到 100 之间的一个整数。

【样例解释】

样例一,分别分配 2、3、1 的糖果,所以最少需要 6 个糖果。
样例二,分别分配 1、2、1、2 的糖果,所以最少需要 6 个糖果。


返回目录:NOIP/CSP信息学奥赛复赛