Discord

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.

  • Tabular
  • Data processing (spreadsheet or pandas)
  • Russian original · English translation

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.

Read the task statement in English 303 words

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:

  1. 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.
  2. Delete the rows where cheat_flag = True.
  3. Keep only the rows that correspond to the first attempt, that is, those where attempt_no = 1.
  4. For each pupil, compute their average score across subjects: the mean of all score values that remain after the operations above.

How many pupils have an average score in the range 6060 \leqslant avg_score <80< 80?

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.

Details

Year
2026, Moscow, Russia (in person)
Round
Municipal Stage (Moscow), grades 9–11 · Task 4
Language
Russian; English translation by SOTA
License
Not stated by the source