Checklist VsOSh AI 2026 Municipal Stage (Moscow), grades 9–11 · Task 4
Group By
Clean a table of test results, filter it and count students whose average score lies in a given range.
The task
An electronic testing system records school test results with columns student_id, subject, score, cheat_flag and attempt_no. Clean score (empty values and negatives become 0, values above 100 become 100), drop rows with cheat_flag = True, keep only first attempts (attempt_no = 1), and compute every student's mean score over the remaining rows.
How many students have a mean score avg_score with 60 ≤ avg_score < 80?
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 16 September 2026.
- Task statement Russian original of Task statement
- Official solution Russian original of Official solution
- Full paper (all tasks of the stage) Russian original of Full paper (all tasks of the stage)
- All answers and solutions of the stage Russian original of All answers and solutions of the stage
Read the task statement in English
Group By
English translation by SOTA – AI Community of the Russian original. Organisers who would like this translation removed can email [email protected].
Task 4 of the municipal stage (Moscow) of the All-Russian School Olympiad (VsOSh) 2025/26 in artificial intelligence, grades 9–11 (variant III). Original: tasks-ai-9-11-mun-msk-25-26.pdf.
An electronic testing system records the results of pupils' tests, which you can download in XLSX, ODS or CSV format. The file contains five columns:
student_id— the pupil's identifier (integer);subject— the subject in which the test was taken (string);score— the score obtained (real number);cheat_flag— suspicion of cheating (True/False);attempt_no— the attempt number (integer; 1 means the first attempt).
Perform the following operations on the data:
- Clean the score column: replace empty values with 0, also replace values less than 0 with 0, and replace values greater than 100 with 100.
- Delete the rows where
cheat_flag= True. - Keep only the rows that correspond to the first attempt, that is, those where
attempt_no= 1. - For each pupil, compute their average score across subjects: the mean of all
scorevalues that remain after the operations above.
How many pupils have an average score in the range avg_score ?
Translator's note: this task's points are not stated in the statement paper (whose total is 600 points); the official answers give a maximum of 100 points (exact match of the answer).
Translated by SOTA. The Russian original is the official version and wins wherever the two differ. Translated from the statement and answer PDFs of the Moscow municipal stage (grades 9–11) on vos.olimpiada.ru. The XLSX, ODS and CSV data links point to lab.sirius.online, as in the original; that portal refused access (HTTP 451) when the links were checked during translation. 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
- A table available as XLSX, ODS or CSV (linked from the PDF).
- You submit
- A number.
- Scoring
- Exact answer; the per-task maximum is not stated for this task in the statement file (the paper totals 600 points).
- Format
- Municipal stage (Moscow), 17 December 2025, grades 9–11; individual; 180 minutes; answers and programs submitted to an online testing system; maximum 600 points for the paper.