# 题目材料 · 实验一（题目 A 与题目 B）

这两道题是这次实验的题目材料。它们不是洛谷上的原题，是按蓝桥杯入门题的常见形态写的，
一道是「一串整数」，一道是「第一行 n m、接下来 n 行」——**两种不同的输入格式**。

两道题都给了样例。样例输入与样例输出同时存成了同目录下的文件（`sample_a1.in` / `sample_a1.out` …），
你的自测脚本要拿这些文件当标准答案，一组一组地比。

判分用的数据在 `tests/` 里：两组是同一份数、换行位置不同的小数据，两组是大数据。
题面里写的时限是评测机上的时限；本机比评测机慢一点，判分脚本按 2 秒算（见 `run_tests.py` 开头）。

## 题目 A · 不一样的数

【问题描述】

小蓝拿到一串整数，他想知道里面一共有多少种不同的数。

【输入格式】

第一行一个整数 n。接下来给定 n 个整数，数与数之间用空白（空格或换行）隔开。

题面只约定这 n 个整数的**个数与先后顺序**，不约定折行位置——评测数据怎么折行都算同一份数据。

【输出格式】

输出一行一个整数：这 n 个数里不同数值的个数。

【样例输入 1】

```text
5
3 1 3 7 1
```

【样例输出 1】

```text
3
```

【样例输入 2】

```text
10
1000000000 1000000000 7 7 7 7 1 1 12 12
```

【样例输出 2】

```text
4
```

样例 2 里不同的数是 1000000000、7、1、12，一共 4 个。

【评测用例规模与约定】

- 对于 60% 的评测用例，$1 \le n \le 5000$；
- 对于所有评测用例，$1 \le n \le 2 \times 10^5$，$1 \le a_i \le 10^9$。

时限 1 秒。

## 题目 B · 成绩单

【问题描述】

一个班有 n 个学生，每人考了 m 门课。给出全班的成绩单，求两件事：

1. 每个学生的最高分（按学生顺序输出）；
2. 全班出现次数最多的分数，以及它出现的次数；如果有多个分数出现次数并列最多，
   输出其中**最小**的那个分数。

【输入格式】

第一行两个整数 n 与 m，表示学生数与课程数。

接下来是 $n \times m$ 个整数（每个学生的 m 门课成绩）：按题面排版是 n 行、每行 m 个，
但题面只约定这些整数的**个数与先后顺序**，不约定换行位置。

【输出格式】

第一行 n 个整数，第 i 个是第 i 个学生的最高分，数与数之间用一个空格隔开。
第二行两个整数：出现次数最多的分数、它出现的次数。

【样例输入 1】

```text
3 4
60 72 88 91
95 95 60 77
100 0 55 60
```

【样例输出 1】

```text
91 95 100
60 3
```

三个学生的最高分依次是 91、95、100；分数 60 出现 3 次，是出现次数最多的。

【样例输入 2】

```text
4 3
10 20 30
30 20 10
5 5 7
7 9 9
```

【样例输出 2】

```text
30 30 7 9
5 2
```

第二组样例是特意造的：每个分数都出现了 2 次，并列最多——这时要输出**最小的**那个分数 5，
不是 10、也不是 30。

【评测用例规模与约定】

- $1 \le n, m \le 1000$，$n \times m \le 10^5$，$0 \le$ 成绩 $\le 100$。

时限 1 秒。

## 判分用的那几张数据

| 文件 | 是什么 | 期望 |
| --- | --- | --- |
| `sample_a1.in` / `.out`、`sample_a2.in` / `.out` | 题目 A 的两组样例（题面给的） | 逐字比对 |
| `sample_b1.in` / `.out`、`sample_b2.in` / `.out` | 题目 B 的两组样例（题面给的） | 逐字比对 |
| `tests/a3.in` / `.out` | 题目 A 的样例 2，**同一份数、换行位置换过** | 答案必须与 sample_a2 一样 |
| `tests/b3.in` / `.out` | 题目 B 的样例 2，**同一份数、换行位置换过** | 答案必须与 sample_b2 一样 |
| `tests/a_big.in` / `.out` | 题目 A 的大数据：n = 100000 | 2 秒时限内跑完 |
| `tests/b_big.in` / `.out` | 题目 B 的大数据：n = 300、m = 100 | 2 秒时限内跑完 |
