Hello, Codeforces. Below you can see the improvements in the system Polygon.
A lot of work has been done to simplify the preparation of school tasks, which use groups and points for tests. In the General Information tab, you can enable the points option for each test. This option is enabled points for the whole problem, that is, for tests from all testsets. Let me remind you that test groups can be enabled for each testset separately on the Tests tab.
Points for groups, points policies, dependencies
Points for the test, as well as groups, can be entered in the table with the list of tests, and also specify them when creating a new test. If the group for the test appears for the first time, it will be automatically added to the list of available groups. This list is presented in the table.
Here the problem developer can specify a policy for calculating points for the group, and also specify from which groups the current group depends on. The are two types of the points policies. The first type of the points policy is
EACH_TEST, in which case points will be added for each passed test from this group. The second type of the points policy is
COMPLETE_GROUP, in which case the points for the group will be added only if all tests from this group have been passed.
Also, you can now add dependencies on other groups for each group. If group A depends on group B, then regardless of which of the tests of group A were passed, you will get 0 points for all tests of group A if at least one of test of group B is not passed.
Solution tags by groups and testsets
In Solutions tab now you can specify a tag for each solution for each existing testset and for each existing group. The interface for working with tags is presented below.
Updates in Invocations
When the invocation is started, all the information about groups, points, dependencies and tag solutions are now taken into account. The points for each group will be calculated according to the group's points policy, as well as according to the groups on which the current group depends. If the solution violates at least one of its tags, the invocation will be highlighted in red, and the information about violation tags is available in detailed invocation report.
Updates in Packages
All information about test groups, points and solution tags added to the problem descriptor on the stage of building packages. Here you can find the example of the descriptor of the school problem.
Thank you for attention! We hope that the described improvements will be useful to you.