# Analysis of the School-Stage Tasks of the All-Russian School Olympiad 2025/26 in Artificial Intelligence (Region Group IV), Grades 9–11

*English translation by SOTA – AI Community of the Russian original. Organisers who would like this translation removed can email sota.ai.community@gmail.com.*

*Translator's note: the original is a single PDF in which each task's statement is followed by its answer, scoring criterion and solution. Tasks 7 and 8 are programming tasks: the file gives only their scoring criteria and solutions, not their statements. The data file for Task 6 and the answer options for Task 4 are not part of the file. Decimal commas are written as decimal points, and spreadsheet formulas are given with English function names (see Task 6).*

**Maximum score for the olympiad — 112**

## Task 1

A chatbot — a program that reads text and writes answers — can process at most 128000 conventional units of text at a time. Assume that one word is one conventional unit. An ongoing conversation already stores a history of 500 words. You want to upload a document in which every page contains exactly 400 words. The system's answer must be equal in length to the source text; the intermediate reasoning amounts to 15% of the length of the source text. What is the largest document that can be processed so that the total number of conventional units (history + source text + reasoning + answer) does not exceed 128000? Give the answer in pages.

**Answer:** 148

**Scoring criterion:** exact match of the answer — 12 points

**Maximum score for the task — 12**

**Solution.**

Let the document contain $T$ words. Then

$$500 + T + 0.15T + T \le 128000 \implies 500 + 2.15T \le 128000$$

$$T \le \frac{128000 - 500}{2.15} = \frac{127500}{2.15} = \frac{2\,550\,000}{43}.$$

With 400 words per page, the maximum number of pages is

$$\left\lfloor \frac{T}{400} \right\rfloor \le \left\lfloor \frac{1}{400} \cdot \frac{2\,550\,000}{43} \right\rfloor = \left\lfloor \frac{6\,375}{43} \right\rfloor = 148.$$

## Task 2

In automatic camera mode, a smartphone rates every image on two parameters, $x$ and $y$, assigning integer scores from 1 to 6. All 36 combinations $(x,\ y)$ are assumed to occur equally often (as when throwing two dice: every combination of faces is equally likely). The camera blurs the background if $x + y \ge 7$. Petya, who does not know $y$, uses a simplified rule: he looks only at $x$ and says “there will be blur” if and only if $x \ge 4$. What is the probability that Petya's answer coincides with the smartphone's decision for a randomly chosen photo?

**Answer:** $\frac{3}{4}$

**Scoring criterion:** 6 points for each correct answer. Total — 12 points

**Maximum score for the task — 12**

**Solution.**

There are 36 equally likely pairs $(x, y)$ in total.

Petya's answer and the smartphone's coincide when both decide that there will be blur (“yes”) or both decide that there will be no blur (“no”).

**1) $x \ge 4$ (Petya says “yes”).** The smartphone blurs if $x + y \ge 7$:

$$
\begin{aligned}
x = 4 &: \ y \ge 3 \Rightarrow 4 \text{ options};\\
x = 5 &: \ y \ge 2 \Rightarrow 5 \text{ options};\\
x = 6 &: \ y \ge 1 \Rightarrow 6 \text{ options}.
\end{aligned}
$$

In total, $4 + 5 + 6 = 15$ coincidences.

**2) $x \le 3$ (Petya says “no”).** The smartphone does not blur if $x + y \le 6$:

$$
\begin{aligned}
x = 1 &: \ y \le 5 \Rightarrow 5 \text{ options};\\
x = 2 &: \ y \le 4 \Rightarrow 4 \text{ options};\\
x = 3 &: \ y \le 3 \Rightarrow 3 \text{ options}.
\end{aligned}
$$

In total, $5 + 4 + 3 = 12$ coincidences.

Altogether there are $15 + 12 = 27$ coincidences out of 36; therefore,

$$P(\text{coincidence}) = \frac{27}{36} = \frac{3}{4}.$$

## Task 3

When programs are taught from examples (this is called machine learning), a certain mistake happens: the correct answers accidentally end up in the training examples. The program then does not learn to reason but simply memorises the answers, and fails on new problems. Schoolchildren are in a similar situation: one can honestly work through a topic, or one can copy from “ready-made homework” answer books (GDZ). By copying, it is easy to get high marks, but there is little knowledge, and this will show in the test.

A pupil has 10 homework assignments and one test. For each homework assignment, he chooses either to solve it on his own (H) or to copy it from the GDZ (G).

Let $K_t$ be the level of knowledge before the $t$-th homework assignment ($t$=1, ..., 10). If the pupil solves assignment $t$ himself, his level of knowledge increases by one; otherwise the level of knowledge does not increase; $K_1 = 0$.<br>
The mark for the $t$-th homework assignment is calculated as follows: if it was solved honestly, then $H_t = 1.5 + 0.3K_t$; if the homework was copied, then $H_t = 4.5$.<br>
The mark for the test depends only on the knowledge after the last homework assignment, $K_{11}$:

$$E = \min\{1 + 0.5K_{11}, 5\}$$

The final average mark: 40% for the homework, 60% for the test:

$$S = 0.4 \frac{H_1 + H_2 + ... + H_{10}}{10} + 0.6E$$

Find the maximum value of $S$. Round the answer to thousandths.<br>
Find the optimal number of honestly completed homework assignments at which $S$ is maximal.

**Answer:** $S_{\max} = 4.176$, $\quad$ the optimal number of honest homework assignments $h = 8$

**Scoring criterion:** 6 points for each correct answer. Total — 12 points

**Maximum score for the task — 12**

**Solution.**

**Idea.** What matters is not which assignments are done honestly but *how many* of them: let there be $h$ honest ones; then the knowledge before the test is $K_{11} = h$.

While the test mark is not yet “5” ($h \le 7$), the exam mark grows by $+0.5$, which gives $+0.6 \cdot 0.5 = +0.3$ in the total $S$. The homework part gets worse when one “4.5” is replaced by an honest assignment ($1.5 + 0.3h$), but by no more than 0.12 in $S$ (the rough upper bound is attained at the lowest knowledge). Hence the total gain is positive — it pays to increase $h$ up to 8.

Once “5” has been reached ($h \ge 8$), the exam mark no longer grows, while honest homework still gives less than 4.5. Hence, from then on $S$ only decreases. So the maximum is at $h = 8$.

**The value of the maximum (substitution into the formula).**

$$S_{\max} = 0.4 \cdot \frac{H_1 + \cdots + H_{10}}{10} + 0.6E = 0.4 \cdot \frac{1.5 + 0.3 \cdot 1 + \cdots + 1.5 + 0.3 \cdot 7 + 4.5 + 4.5}{10} + 0.6 \cdot 5 = 4.176$$

**Answer:** $\boxed{S_{\max} = 4.176, \quad h_{\text{opt}} = 8}$.

*Moral.* You have the opportunity to copy your homework, but what really matters is not marks but knowledge and skills. And these are built up only by honest work.

## Task 4

A teacher explains to the children that if they want to test a hypothesis, they must try to refute it. He has thought of a rule that the triple of integers 1, 2, 4 satisfies. It is known that this rule is one of four:

- the numbers are strictly increasing;
- all the numbers are positive;
- any three numbers fit;
- the product of the first and the last numbers equals the square of the second.

Choose two triples of numbers such that the pair of “yes/no” answers makes it possible to determine unambiguously which of the four rules has been thought of:

*[The answer options are not listed in the original file; the table in the solution considers the triples (1, 2, 4), (1, 2, 3), (−3, −3, −3) and (−3, −2, −1).]*

**Answer:** (-3,-3,-3) and (-3,-2,-1)

**Scoring criterion:** (Number of correct choices minus number of incorrect ones) × 6, maximum 12 points

**Maximum score for the task — 12**

**Solution.**

| Rule | $(1, 2, 4)$ | $(1, 2, 3)$ | $(-3, -3, -3)$ | $(-3, -2, -1)$ |
|:---:|:---:|:---:|:---:|:---:|
| 1 strictly increasing | Yes | Yes | No | Yes |
| 2 all positive | Yes | Yes | No | No |
| 3 any three | Yes | Yes | Yes | Yes |
| 4 $ac = b^2$ | Yes | No | Yes | No |

The first triples do not work:

- For (1,2,4) all the answers are “Yes”, so after the first question all 4 rules remain. With the one remaining question one can only get “Yes” or “No”, that is, split the rules into at most 2 groups, not distinguish all 4.
- For (1,2,3), 3 rules may remain after the first question (three “Yes” answers). With one remaining question, three options cannot be distinguished either.

The triples $(-3, -3, -3)$ and $(-3, -2, -1)$ work: the pairs of answers for the four rules are all different — (No, Yes), (No, No), (Yes, Yes), (Yes, No) — and they determine the rule unambiguously.

## Task 5

In a binary classification problem (dividing objects into 2 classes), a total of $N$=800 objects are given, of which $P$=200 are positive and $N - P = 600$ are negative. Let:

- $TP$ — correctly predicted positive objects (True Positives);
- $FP$ — negative objects mistakenly predicted as positive (False Positives);
- $FN$ — positive objects mistakenly predicted as negative (False Negatives);
- $TN$ — correctly predicted negative objects (True Negatives).

Metrics:

$$\text{Precision (precision for the positive class)} = \frac{TP}{TP + FP},$$

$$\text{Accuracy (the share of correct answers)} = \frac{TP + TN}{N},$$

It is known that Precision $= 0.5$. Find the range of possible values of Accuracy.

**Answer:** [0.75; 0.75]

**Scoring criterion:** each of the two numbers is worth 6 points; maximum 12 points.

**Maximum score for the task — 12**

**Solution.**

From $\text{Precision} = \dfrac{TP}{TP + FP} = 0.5$ it follows that $TP = FP$ (the denominator is $> 0$).<br>
Since there are $P = 200$ positives, $0 < TP \le 200$. Then

$$TN = 600 - FP = 600 - TP, \qquad \text{Accuracy} = \frac{TP + TN}{800} = \frac{TP + 600 - TP}{800} = \frac{600}{800} = 0.75.$$

Accuracy does not depend on the particular $TP$ (for $0 < TP \le 200$), so the range is the single point $[0.75; 0.75]$.

## Task 6

The data for this task are in a spreadsheet file. You can download the file in one of three formats: XLSX, ODS, CSV.

In the document, each row contains two numbers:

- the probability of a positive outcome $p$ (a number from 0 to 1);
- the correct label $y$, where $y = 1$ is a positive outcome and $y = 0$ is a negative one.

Let us define a simple prediction rule:

$$\hat{y} = \begin{cases} 1, & \text{if } p \ge 0.6, \\ 0, & \text{if } p < 0.6. \end{cases}$$

**Problem.** Find the number of rows for which the prediction $\hat{y}$ coincides with the correct label $y$.

**Answer:** 61

**Scoring criterion:** exact match of the numerical answer — 12 points

**Maximum score for the task — 12**

**Solution.**

*Translator's note: the original writes the formulas below for the Russian-language version of Excel (Russian function names, a decimal comma and semicolons between arguments); here they are given with the English function names IF and SUM.*

**Solution in the Russian-language version of Excel.** Suppose that in the table column A holds the probability $p$ and column B the correct label $y$; the data are in rows 2–101.

**Step 1. Compute the prediction by the rule.** In cell C2:

`=IF(A2>=0.6, 1, 0)`

Drag down to C101.

**Step 2. Check whether the prediction matches the true label.** In cell D2:

`=IF(C2=B2, 1, 0)`

Drag down to D101.

**Step 3. Counting the matches.** In any free cell, for example E2:

`=SUM(D2:D101)`

This is exactly the number of rows where $\hat{y} = y$.

## Task 7

*[The statement of this programming task is not included in the original file.]*

**Scoring criterion:** 1 point for each test not taken from the statement. Total — 20 points

**Maximum score for the task — 20**

**Solution.**

For an element $a$, the mean of the others equals $\dfrac{S - a}{n - 1}$. The element is anomalous if

$$a \ge 2 \cdot \frac{S - a}{n - 1} \quad \text{or} \quad \frac{S - a}{n - 1} \ge 2a.$$

Let us avoid division: set $T = S - a$. Then the conditions are equivalent to

$$2T \le a(n - 1) \quad \text{or} \quad 2a(n - 1) \le T.$$

We check this for each $a$ and count the number of anomalies.

```python
n, S = map(int, input().split())
cnt = 0
for _ in range(n):
    a = int(input())
    T = S - a
    a_scaled = a * (n - 1)
    if a_scaled * 2 <= T or T * 2 <= a_scaled:
        cnt += 1
print(cnt)
```

## Task 8

*[The statement of this programming task is not included in the original file.]*

**Scoring criterion:** 1 point for each test not taken from the statement. Total — 20 points

**Maximum score for the task — 20**

**Solution.**

We compute the embeddings and their norms. We go through all pairs of words and, for non-zero vectors, compute the cosine similarity

$$\frac{\mathbf{x} \cdot \mathbf{y}}{\|\mathbf{x}\|\ \|\mathbf{y}\|},$$

keeping track of the maximum and the indices of the pair. At the end, we output the two words found.

```python
N = int(input())
names = []
vecs = []
norms = []
for _ in range(N):
    s, x, y, z = input().split()
    x = int(x); y = int(y); z = int(z)
    names.append(s)
    vecs.append((x, y, z))
    norms.append((x*x + y*y + z*z) ** 0.5)

bi, bj = 0, 1
best = -2.0
for i in range(N):
    xi, yi, zi = vecs[i]
    ni = norms[i]
    for j in range(i + 1, N):
        xj, yj, zj = vecs[j]
        nj = norms[j]
        if ni == 0.0 or nj == 0.0:
            continue
        sim = (xi*xj + yi*yj + zi*zj) / (ni * nj)
        if sim > best:
            best = sim
            bi, bj = i, j

print(names[bi], names[bj])
```
