Checklist VsOSh AI 2026 Final Stage, Tour 2 (practical) · E task
Suspicious Cakes
Russian title: Подозрительные пирожные
Use a CNN trained only on ten classes of "normal" cakes to find exactly 1,000 anomalous images in a new batch.
The task
Sasha trained a convolutional network to classify "normal" cakes into 10 classes; only normal cakes were available for training. A new batch of cake images contains exactly 1,000 unusual, potentially harmful cakes.
Given the batch and the pretrained weights, the contestant must mark exactly 1,000 images as suspicious.
Abridged and translated by SOTA from the official Russian materials. The official statement has the exact rules, and it wins wherever this summary differs.
In English
This task was published in Russian. SOTA translated its 4 files into English on 17 September 2026.
- Task statement Russian original of Task statement
- Official solution Russian original of Official solution
- Full paper (all tasks of the tour) Russian original of Full paper (all tasks of the tour)
- All solutions of the tour Russian original of All solutions of the tour
Read the task statement in English
Suspicious Cakes
English translation by SOTA – AI Community of the Russian original. Organisers who would like this translation removed can email [email protected].
All-Russian School Olympiad in Informatics 2025–2026, Final Stage
“Artificial Intelligence” profile, Tour 2, Moscow, 25 March 2026
Task E
Statement
Sasha is often ill and is trying to understand why. He suspects that the problem may be related to the cakes he regularly eats.
Recently, Sasha bought a new batch of cakes, and there may be unusual ones among them that are harmful to him. Sasha very much wants to eat all the cakes, but he does not want to fall ill again. For this, Sasha needs to learn to determine which cakes differ from the rest.
Sasha is sure that suspicious cakes can be told apart visually. To learn to find them, he decided to train a convolutional neural network to analyse images of cakes. However, for training, Sasha only has "normal" cakes, which are known to be definitely not harmful to him. Sasha eats 10 kinds of cakes in total, so he trained the neural network to classify "normal" cakes into 10 classes. Now Sasha needs to work out how to use this model to find "harmful" cakes. Sasha asks for your help in finding the suspicious cakes in the new batch.
You are given images of cakes from the new batch and the weights of a pre-trained neural network. The network was trained only on "normal" cakes and solves a classification problem with 10 classes. You need to determine which cakes from the new batch differ from the "normal" ones. It is known that there are exactly 1000 suspicious cakes.
Input format
The following files are attached to the task:
public_test_package_E.npz: test images of size ;model_weights_E.pt: the weights of the pre-trained CNN;baseline_E.ipynb: a baseline notebook with an example solution;submission_E.csv: an example answer file.
Output format
For checking, you must upload the archive solution_E.zip.
The archive must contain:
- The file
submission_E.csvwith two columns:id: the index of the object, from 0 to ;is_outlier: your prediction:1if the object is suspicious;0if the object is considered normal.
- The file
solution_E.ipynb: a Jupyter Notebook with your solution.
The file submission_E.csv must contain exactly 1000 rows with the value is_outlier = 1.
You may add to the archive additional files needed for your solution to work. The archive must, however, contain exactly one file with the extension .csv and exactly one file with the extension .ipynb.
Scoring
You can get up to 60 points for this task.
If the number of objects marked as suspicious in the submitted file differs from 1000, the task is scored 0 points.
The data are split into a public and a private part. When you submit submission_E.csv, you are shown the result on the public part. After the end of the stage, the result will be recomputed on the private part. The public and private parts do not overlap.
After the end of the stage, the value of the metric will be converted to a 60-point scale according to the following rule:
- the result of the baseline solution, with a value of Recall@K , is scored 0 points;
- a result with a value of Recall@K is scored 60 points;
- if the value of Recall@K lies between and , the number of points is computed by the linear interpolation formula:
The metric values and will be available in the testing system.
The final score for the task is based on the last submission.
Metric for evaluating the accuracy of the answer
This task uses the Recall@K metric.
The participant must mark exactly objects as suspicious. Let hits@K be the number of correctly found suspicious objects among the marked ones. Then
In other words, the more genuinely suspicious objects you find among the 1000 you select, the higher the result.
Translated by SOTA. The Russian original is the official version and wins wherever the two differ. The data files, model weights and baseline_E.ipynb named in the statement are not included in the PDF. The official checking cell refers to AUTHOR_SOLUTION_SCORE and BASELINE_SOLUTION_SCORE, which it never defines; this is kept as in the original. If you organise this olympiad and would like the translation removed, email [email protected] and we will take it down.
At a glance
- You get
public_test_package_E.npz(32 × 32 test images),model_weights_E.pt(pretrained CNN),baseline_E.ipynb,submission_E.csv(example).- You submit
- A zip archive with exactly one .csv (the predictions) and exactly one .ipynb (the solution notebook); additional files needed by the solution are allowed. The CSV is
submission_E.csvwith columns id (0 … N−1) andis_outlier(1 or 0), with exactly 1,000 rows equal to 1. - Scoring
- Recall@K with K = 1000 (hits among the 1,000 marked objects divided by 1,000). A file with a number of positives other than 1,000 scores 0. After the stage the metric is mapped to 0–60 points: the baseline value X or worse gives 0, Y or better gives 60, linear in between (Score = 60·(m − X)/(Y − X)); X and Y were shown in the testing system. Scored on a private part of the test set; the last submission counts. Maximum 60 points.
- Rules
- Exactly 1,000 objects must be marked as outliers.
- Format
- Final stage, Tour 2 (practical), Moscow, 25 March 2026; grades 9–11; individual; submissions to an online testing system.