socho's blog

By socho, history, 5 years ago, In English

Hey all!

I'm trying to make an OI-style interactive question in Polygon for a school contest, and the score should depend on the number of queries used by the solution in the worst case. For the first few subtasks, the solution must use at most X queries (X depends on the subtask). The scoring for these first few subtasks works. However, for the final subtask, I'm trying to make a partial scoring subtask, where the score for the subtask should depend on the maximum number of queries used in any testcase in the subtask (score should be 30 - the maximum number of queries used).

Here is an example, in case it helps:

Let's say that the final subtask has 4 testcases. In testcases #1 and #2, the solution used 5 queries, in testcase #3, the solution used 9 queries, and in testcase #4, the solution used 15 queries. Then, as 15 was the maximum number of queries used in any testcase, the score for the subtask should be 30 - 15 = 15.

So far, in the checker, I've tried to use quitf(_pc(score)) and quitp(_pc(score)) (as well as score-16 in both), but every time, if I try to test a solution which should get a partial, it gets the full 30 points for the subtask anyway.

Is there any way to do this? If so, please let me know how! I'm sorry if I've missed this from a previous post.

Thank you so much for your time!

Update: Yes, groups and test points are both enabled (to make the other subtasks work). The reason I cannot assign a smaller score to each testcase in the last subtask and then set the policy to EACH_TEST is because, if a solution is incorrect on any testcase, I need it to show Wrong Answer regardless of performance on all other testcases. Here is a similar problem, where the last subtask also gives a score based off the maximum number of queries used in any testcase. I'm trying to make something similar in Polygon.

Thanks again!

  • Vote: I like it
  • +20
  • Vote: I do not like it