Skip to content

Commit 4ff6ffe

Browse files
authored
Merge branch 'master' into clarify-groups
2 parents 56b46fa + 29d0e6e commit 4ff6ffe

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

spec/2023-07-draft.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -574,9 +574,9 @@ The format of `test_group.yaml` is as follows:
574574
Key | Type | Default | Comments
575575
------------------------- | ----------------------------------- | ---------------------------------------------- | --------
576576
`max_score` | Integer or `unbounded` | 100 in `secret`, otherwise `unbounded` | The maximum possible score of the test data group or `secret`. Must be a non-negative integer or `unbounded`. This key is not permitted in `sample`.
577-
`score_aggregation` | `pass-fail`, `sum`, or `min` | `sum` in `secret`, otherwise `pass-fail` | How the score is determined based on the scores of the contained groups or test cases. [See Result Aggregation](#result-aggregation). This key is not permitted in `sample`.
578-
`static_validation_score` | Integer or `pass-fail` | | The maximum score of the static validation test case, or `pass-fail`. See [Static Validator](#static-validator).
579-
`require_pass` | String or sequence of strings | empty sequence | Other test data groups (or `sample`) whose test cases a submission must pass in order to receive a score for this test data group. [See Result Aggregation](#result-aggregation). This key is not permitted in `sample`.
577+
`score_aggregation` | `pass-fail`, `sum`, or `min` | `sum` in `secret`, otherwise `pass-fail` | How the score is determined based on the scores of the contained groups or test cases. See [Result Aggregation](#result-aggregation). This key is not permitted in `sample`.
578+
`static_validation_score` | Integer or `pass-fail` | | The maximum score of the static validation test case, or `pass-fail`. See [Static Validator](#static-validator).
579+
`require_pass` | String or sequence of strings | empty sequence | Other test data groups (or `sample`) whose test cases a submission must pass in order to receive a score for this test data group. See [Result Aggregation](#result-aggregation). This key is not permitted in `sample`.
580580
`args` | Sequence of strings | empty sequence | See [Test Case Configuration](#test-case-configuration).
581581
`input_validator_args` | Sequence of strings or map of strings to sequences of strings | empty sequence | See [Test Case Configuration](#test-case-configuration).
582582
`static_validator_args` | Sequence of strings | empty sequence | See [Static Validator](#static-validator).
@@ -1297,10 +1297,14 @@ The goal of each submission is to maximize this score.
12971297
Given a submission, scores are determined for test cases, [test data groups](#test-data-groups), and `secret` (which is the score of the submission itself).
12981298
The scoring behavior is configured for `secret` and each test data group by `max_score`, `score_aggregation`, and `require_pass` in its [`test_group.yaml`](#test-data-configuration).
12991299

1300+
The value of `score_aggregation` determines how the score of `secret` or a test data group is computed; see [Scoring Test Groups](#scoring-test-groups).
13001301
The default value of `score_aggregation` is `sum` for `secret` and `pass-fail` for test data groups.
1302+
If `secret` has `pass-fail` aggregation, then so must all of its test data groups.
1303+
1304+
The `require_pass` key may be used to indicate that `secret` or a test data group should only be scored if all test cases in `sample` or an earlier test data group received an accepted verdict; see [Required Dependent Groups](#required-dependent-groups).
13011305
The default value of `require_pass` is an empty sequence.
13021306

1303-
For `secret`, all test data groups, and every test case in a group with `sum` or `min` aggregation, there is a maximum possible score.
1307+
For `secret`, all test data groups with `sum` or `min` aggregation, and every test case in a group with `sum` or `min` aggregation, there is a maximum possible score.
13041308
The default value of `max_score` for `secret` is 100.
13051309
The default value of `max_score` for test data groups is `unbounded`.
13061310
Test data groups may only have `unbounded` maximum score if `secret` is unbounded.
@@ -1333,6 +1337,7 @@ It is a judge error if:
13331337
- an output or static validator produces a `score_multiplier.txt` for a test case with unbounded maximum score;
13341338
- an output or static validator produces both a `score.txt` and a `score_multiplier.txt` for a test case;
13351339
- an output or static validator produces a `score.txt` or `score_multiplier.txt` for a test case in a group with `pass-fail` aggregation;
1340+
- an output or static validator produces a `score.txt` for a test case with bounded maximum score with a value that exceeds this maximum score;
13361341
- an output or static validator produces a `score.txt` or `score_multiplier.txt` with invalid contents.
13371342

13381343
#### Scoring Test Data Groups

0 commit comments

Comments
 (0)