rbx.cp 0.7.0__py3-none-any.whl → 0.9.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. rbx/box/cd.py +2 -2
  2. rbx/box/cli.py +87 -33
  3. rbx/box/code.py +133 -84
  4. rbx/box/contest/build_contest_statements.py +2 -2
  5. rbx/box/contest/contest_package.py +1 -1
  6. rbx/box/contest/main.py +29 -2
  7. rbx/box/environment.py +140 -80
  8. rbx/box/formatting.py +2 -1
  9. rbx/box/global_package.py +74 -0
  10. rbx/box/package.py +11 -24
  11. rbx/box/packaging/__init__.py +0 -0
  12. rbx/box/packaging/boca/__init__.py +0 -0
  13. rbx/box/packaging/polygon/packager.py +3 -3
  14. rbx/box/presets/__init__.py +369 -53
  15. rbx/box/presets/lock_schema.py +42 -2
  16. rbx/box/presets/schema.py +4 -0
  17. rbx/box/remote.py +21 -2
  18. rbx/box/retries.py +3 -2
  19. rbx/box/sanitizers/warning_stack.py +5 -5
  20. rbx/box/solutions.py +37 -25
  21. rbx/box/statements/build_statements.py +6 -6
  22. rbx/box/statements/builders.py +1 -1
  23. rbx/box/stats.py +10 -0
  24. rbx/box/stresses.py +47 -66
  25. rbx/box/stressing/finder_parser.py +11 -16
  26. rbx/box/tasks.py +33 -22
  27. rbx/box/testcase_utils.py +3 -3
  28. rbx/box/tooling/boca/scraper.py +1 -1
  29. rbx/grading/caching.py +98 -47
  30. rbx/grading/debug_context.py +31 -0
  31. rbx/grading/grading_context.py +96 -0
  32. rbx/grading/judge/cacher.py +93 -21
  33. rbx/grading/judge/sandbox.py +8 -4
  34. rbx/grading/judge/sandboxes/isolate.py +3 -2
  35. rbx/grading/judge/sandboxes/stupid_sandbox.py +3 -2
  36. rbx/grading/judge/sandboxes/timeit.py +1 -1
  37. rbx/grading/judge/storage.py +170 -35
  38. rbx/grading/profiling.py +126 -0
  39. rbx/grading/steps.py +46 -17
  40. rbx/grading/steps_with_caching.py +52 -26
  41. rbx/resources/envs/default.rbx.yml +2 -3
  42. rbx/resources/envs/isolate.rbx.yml +2 -3
  43. rbx/resources/presets/default/contest/.gitignore +6 -0
  44. rbx/resources/presets/default/contest/contest.rbx.yml +14 -1
  45. rbx/resources/presets/default/contest/statement/contest.rbx.tex +24 -86
  46. rbx/resources/presets/default/contest/statement/instructions.tex +40 -0
  47. rbx/resources/presets/default/contest/statement/logo.png +0 -0
  48. rbx/resources/presets/default/env.rbx.yml +67 -0
  49. rbx/resources/presets/default/preset.rbx.yml +6 -2
  50. rbx/resources/presets/default/problem/.gitignore +1 -1
  51. rbx/resources/presets/default/problem/problem.rbx.yml +12 -8
  52. rbx/resources/presets/default/shared/contest_template.rbx.tex +57 -0
  53. rbx/resources/presets/default/shared/icpc.sty +322 -0
  54. rbx/resources/presets/default/shared/problem_template.rbx.tex +57 -0
  55. rbx/submitors/codeforces.py +3 -2
  56. rbx/test.py +1 -1
  57. rbx/utils.py +6 -1
  58. {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/METADATA +4 -1
  59. {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/RECORD +67 -58
  60. rbx/resources/presets/default/contest/statement/olymp.sty +0 -250
  61. rbx/resources/presets/default/contest/statement/template.rbx.tex +0 -42
  62. rbx/resources/presets/default/problem/statement/olymp.sty +0 -250
  63. rbx/resources/presets/default/problem/statement/template.rbx.tex +0 -89
  64. /rbx/resources/presets/default/problem/{gen.cpp → gens/gen.cpp} +0 -0
  65. /rbx/resources/presets/default/problem/{tests → manual_tests}/samples/000.in +0 -0
  66. /rbx/resources/presets/default/problem/{tests → manual_tests}/samples/001.in +0 -0
  67. /rbx/resources/presets/default/problem/{random.py → testplan/random.py} +0 -0
  68. /rbx/resources/presets/default/problem/{random.txt → testplan/random.txt} +0 -0
  69. {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/LICENSE +0 -0
  70. {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/WHEEL +0 -0
  71. {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/entry_points.txt +0 -0
@@ -3,30 +3,31 @@ rbx/annotations.py,sha256=qcJGL_INONSirH7LTrEma5RsweAIbO6QlRHVvRvb9ao,3521
3
3
  rbx/autoenum.py,sha256=cusv8ClXRlDVvhZ8eDrtYcL_2peXlHugAey_ht8roXk,12025
4
4
  rbx/box/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  rbx/box/builder.py,sha256=MDm2qqmhedAbhn3rWP6cDwbBsGhV6sz_2sg1zLkPDw0,3613
6
- rbx/box/cd.py,sha256=bPiSLMDNFtfOSYaQ9TBGm-Cl8SKajqDZMr98uXMvKA8,2699
6
+ rbx/box/cd.py,sha256=_XAzb3kV1NUaaRs8hc9SGDo10O1yh2_gr1EiAKzfUjI,2711
7
7
  rbx/box/checkers.py,sha256=2eLfMOzJajoca26M4rOBxUxve3-BpxcMu_q2upI1Pcg,13017
8
- rbx/box/cli.py,sha256=d6N_CvipfTGDyjLANkwpbvJRk9WmQTA9nnbT9GrWTPo,27724
9
- rbx/box/code.py,sha256=9Eba-LlvmMkfyiNAFOk2V2rRXKQvQYWyC_d0q195pZw,24445
8
+ rbx/box/cli.py,sha256=fF8uPSqW_tBuWbiU0WnOPU5inUe3rV6XnLk2MYbxBYQ,29638
9
+ rbx/box/code.py,sha256=4GChCeUaHjT7stvtPAURbCL1_V238geG3xmXQjbdV20,26708
10
10
  rbx/box/compile.py,sha256=Kzn5mEQu4vb91W9vjyt0DS6cfPJzFLTUoowFj7uHLUo,2539
11
11
  rbx/box/conftest.py,sha256=sEmciXSeDC-wmrZ1JSxbsUenKNP_VWW32mrCun2pY3I,1070
12
12
  rbx/box/contest/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
- rbx/box/contest/build_contest_statements.py,sha256=643LJY1XEgevitbnzc05Cgo8wcLp7w91Z1K4D5XKcqA,12016
14
- rbx/box/contest/contest_package.py,sha256=EqtmEw36Hpr7-AYf4hGV0tYDu5esj7k14w7ZEIYU36o,2980
13
+ rbx/box/contest/build_contest_statements.py,sha256=SLAhvYPlRD1gCKJRxnDWYsJeF9xMir9L1_cYISG3JD4,12028
14
+ rbx/box/contest/contest_package.py,sha256=r6BGq3S4Ezj3Ep7pCmtvz3SN44npb2_rKJEoT5lSOqk,2985
15
15
  rbx/box/contest/contest_utils.py,sha256=fsWHG1e65wq9zvRY3tdf32VF0nU1yzGTOBX5yjXiNk4,1102
16
- rbx/box/contest/main.py,sha256=qjBGZpSzeCHA3IfjVsO1yywNek9K-h6Fqtp1-ulHoVo,7399
16
+ rbx/box/contest/main.py,sha256=fAxT9KUuKOyCujmJOjtqj0EJB9guTO85jebzYbVPS7A,8388
17
17
  rbx/box/contest/schema.py,sha256=eb7xtyq078YYWYHueximNhyHFINzwgLMFm1j9U3LxBQ,7461
18
18
  rbx/box/contest/statements.py,sha256=wTLmCO3VlGUcN-CzBf-uKUSOAbLUnDeZhdMcsIuF63A,3803
19
19
  rbx/box/creation.py,sha256=I3sclB5WTK_pcXDnYU6LEbvGVSHwRS_30L3GVAz-QqM,1369
20
20
  rbx/box/deferred.py,sha256=II3X9e87JCOZtmspnHh-n4PFqh-FsH_oc0XJHZ9ZYVQ,691
21
21
  rbx/box/download.py,sha256=tLW5gLVeLk0gHMEMwScSoHIXQPkXuPsqXzItsrsnUZY,3070
22
22
  rbx/box/dump_schemas.py,sha256=3j5t47_vJmXj0BCczxDX6ByOcsfolGEDNCBXlPpk86w,593
23
- rbx/box/environment.py,sha256=6HeFBEgxM-ug41M_7O6lwc7JI9HoifTu7F-W5GjGmL8,12189
23
+ rbx/box/environment.py,sha256=399qt1kdMRXEQWzGt7m-fj6eAGk112TUM0YXm5LvTzw,13618
24
24
  rbx/box/extensions.py,sha256=Von8kIeXvNFTkGlMRMTvL2HIHPwlkuiMswr-ydbGV1w,519
25
25
  rbx/box/fields.py,sha256=lc1OHpo_AC8RxzNasipULGkRmToAiXBGzWDeb14L_ss,1092
26
- rbx/box/formatting.py,sha256=drxGLRS-uh_5j0GTmk8kAq0NlWpM5WoSBJoDHh9KXNI,1222
26
+ rbx/box/formatting.py,sha256=i3vXHpo_L_VpVPxOe4wHlai1WhlDJlfxUexS9DC0Szg,1249
27
27
  rbx/box/generators.py,sha256=0HiNZfZXvEpXLHP1D0cJp-fgSujOm4jPDdniWyy8HrI,13824
28
28
  rbx/box/generators_test.py,sha256=J7aBfuJhU84MWDWzgReRoOuQw_hVa09B8gTKAvL2XVo,1987
29
29
  rbx/box/git_utils.py,sha256=VlUgzuHOCnrjjiJQnDB32qDHbHw_zkwgA7wm4bloibc,750
30
+ rbx/box/global_package.py,sha256=OMnvqY8VQlP9YVSZwH5LCVkTsE7zNIhhRcslIWktkQc,2016
30
31
  rbx/box/header.py,sha256=ifErXcIxG5lM5AyRiHDr7JE401vR4ORNXCNpHXxN_ls,2001
31
32
  rbx/box/lang.py,sha256=GaWvf4rgukflIZ9ti4MUKSJcz9wm2mIVuFcrO-pA8L8,669
32
33
  rbx/box/lazy_importing_main.py,sha256=6Z8As7qVFFT619xHH9Xt8VCH57NjC4aDxfAgkWiUwT8,116
@@ -34,7 +35,9 @@ rbx/box/lazy_importing_test.py,sha256=B0-b3y_DkxEmtVfu4NfmVsgVdFl6kRCsEL6GLMHJIS
34
35
  rbx/box/linting.py,sha256=XdIgn8uRmPt06mLaP9ROnn6P1aSRdery6FkiLazLDM8,3181
35
36
  rbx/box/main.py,sha256=a8CYi77kOywPFly4-ucEIJLXQW-1NFp91kK2fA42YTE,86
36
37
  rbx/box/naming.py,sha256=pOG37X_wQM9CCSYwJIUf-b-ZHEs_nchO7wQEdP_quJg,1367
37
- rbx/box/package.py,sha256=ZywWmXjQo-A14fMOhOCzAO5IjFX9x-TBs8PusAv8iWE,13771
38
+ rbx/box/package.py,sha256=ezSiqCl0EYEiasMeg8XF79Kyh6kqvabmrobNveEzcLM,13554
39
+ rbx/box/packaging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
+ rbx/box/packaging/boca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
41
  rbx/box/packaging/boca/extension.py,sha256=EQALNEOv4zVDXSKs_dk11n92y7cBZVn8TogIK683lE0,890
39
42
  rbx/box/packaging/boca/packager.py,sha256=MEVXTGtMWxcXetvXZ4td-AtOUTM68WeRqy5yt-7Lg28,13675
40
43
  rbx/box/packaging/contest_main.py,sha256=7YQWmzl1rOdO7cWFc_D6zhywIE12lKJY1O6hnrxkOLs,3168
@@ -42,46 +45,46 @@ rbx/box/packaging/main.py,sha256=J0wPj9gNOJRUWtIRncspBmYVCkdzyUOHDCWmQ7qSqsc,435
42
45
  rbx/box/packaging/moj/packager.py,sha256=FjghOe5CPlaF1GqK0NZgWVV_eYWpdTmz88bh04yeAyI,8708
43
46
  rbx/box/packaging/packager.py,sha256=4WASooYT3VQvDM4M0gNrg9SS7nS-deLQeZWV4c-YLV0,3669
44
47
  rbx/box/packaging/pkg/packager.py,sha256=4pt4cZa_MU9gsWNVvh5Um1KEIh_axBHlXmPf6rpFoHg,4904
45
- rbx/box/packaging/polygon/packager.py,sha256=ANF1wbnvLmmNiovc7COj90fw8nxinuH1zQdlD24cKwM,11163
48
+ rbx/box/packaging/polygon/packager.py,sha256=K8WKYO-HBDx_z4R43Ko7YBs1bbFjhFPx8IUkvY0jM0I,11190
46
49
  rbx/box/packaging/polygon/polygon_api.py,sha256=mPKEqiwANJ1nr-JhOgzGMaDhnbljsAgzzPHW6kkf7R4,41016
47
50
  rbx/box/packaging/polygon/test.py,sha256=bgEju5PwudgyfwxXJagm8fM6CJVlWM6l_-2q1V-oKaQ,3069
48
51
  rbx/box/packaging/polygon/upload.py,sha256=6dIbjwygKtirLBkbh40UgtHU1NHGxSMoFAtg2BcC2II,12902
49
52
  rbx/box/packaging/polygon/xml_schema.py,sha256=ZgcLyvxggMUccbTNdzflue5G-FTN2_ZmOGGF7FD0Y5A,2851
50
- rbx/box/presets/__init__.py,sha256=9BLun8zOwbn6T9eyNtIMONL3Ty5j77UUPzenB2-JOpY,22709
53
+ rbx/box/presets/__init__.py,sha256=tD3BDA4KTcHQv3BEKVuKn4KKAD2N8IysoK9hvF5lJr8,33291
51
54
  rbx/box/presets/fetch.py,sha256=900aq9S8e12TlgSenG0iHgtF4OWgqavZsptgI_a1YKM,2508
52
- rbx/box/presets/lock_schema.py,sha256=Ohxs5J_B5_Dr8ZajptGqKzRzIjQS2ehDHbCOSy07PyY,309
53
- rbx/box/presets/schema.py,sha256=KhAZjA5VU7dBEvGc22jBWO8JHKkQ-sbPz6EcJK8Rgfg,2299
54
- rbx/box/remote.py,sha256=2xN0XSWoRyDY0-FNKejK0x8iKhRuVsluIMKKb-gD7bI,4572
55
- rbx/box/retries.py,sha256=2K2AiFdtTaVsbzSgupbP4xr4QQ7LFeGBOcyXLinVf0I,4950
56
- rbx/box/sanitizers/warning_stack.py,sha256=RI97_GJgdjTKIXY_r0EKp5h0qQQSDSdNDh5K7zINrqs,2861
55
+ rbx/box/presets/lock_schema.py,sha256=8PKL7UMX4dkdVpCPLwYtaNIIrZpAfHGvTfnF8bRFedM,1708
56
+ rbx/box/presets/schema.py,sha256=iOGWHqJ9Z-ljQV8ljOjQMuCwqJQLJKm_pYX9cLjZbmE,2432
57
+ rbx/box/remote.py,sha256=PsJ4i3suQEr3cxiKk4nCho98QBGs5b2v8_TEvn_nE-o,5204
58
+ rbx/box/retries.py,sha256=BZsi4sYBjm3VK5zb_pBQSYQuKo3ZntmtEFoVPZHg4QI,4982
59
+ rbx/box/sanitizers/warning_stack.py,sha256=6-rr3dkMq6MpfjrVZ8lSQjF4RZ5YzZSAPMzHCfm-6h4,2876
57
60
  rbx/box/schema.py,sha256=424VcpZzY2qUz8rlETwIqrzzwmnoARILEO7Wf2P61BY,18855
58
61
  rbx/box/setter_config.py,sha256=9iObg6BwxQhFAhIOk31Jc0BDDpRYVGf3SyLIOsWIltM,4393
59
- rbx/box/solutions.py,sha256=g2jgDtSCqvlG-WiiJpTibLDljil2tRCKNelGS8qTrXQ,53357
62
+ rbx/box/solutions.py,sha256=I8DqQ4HDO_MWlabqJHnCgG7udDgUgox15YW5TCrN-8o,53864
60
63
  rbx/box/solutions_test.py,sha256=PX1TQoRzNd9mi1SGsG7WFrpqFgNrNX5Kwt0mkwFdoOA,1749
61
64
  rbx/box/state.py,sha256=MMf3DvfQji0jKEliCHct2Tpp_0epL1tvP8HbHNArQIc,166
62
65
  rbx/box/statements/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
- rbx/box/statements/build_statements.py,sha256=KFPfX9IglaPW17B4hSTPXiaylV-kt6j3eWUIS1ddJZI,12685
64
- rbx/box/statements/builders.py,sha256=tEC8IRMa_RxoUTXubIrJlbYOVO9Kkeud9-OtGqg2KRw,12102
66
+ rbx/box/statements/build_statements.py,sha256=DgEuhhbu-LJAMFJhmVuBR44o4Mq2odue9pRaG-I5OJY,12711
67
+ rbx/box/statements/builders.py,sha256=_HQs67mEHyUxZo-fSrSvvpYHpaJYRIHyGRTtg9YSGU8,12105
65
68
  rbx/box/statements/expander.py,sha256=sdbMtNcJQCbXGIkFIl9h24pGr77vhFLnM31V5AfuduI,1715
66
69
  rbx/box/statements/joiners.py,sha256=jItNXkAbTjFQpPMgfDMW86n3vMTbaE8sgo9I8Yf4Txg,2886
67
70
  rbx/box/statements/latex.py,sha256=LkcHwXjMFxbw--Gj9T1VkFKQFsXhY9dN7xZHpZycNW8,1346
68
71
  rbx/box/statements/latex_jinja.py,sha256=6whLCIHzPjq7oeDwzUgdvirpLA4Y3G-w319DhzPwPUI,8960
69
72
  rbx/box/statements/schema.py,sha256=QIUkQhrLb3rqAdvzDSwL3r4uAvDv-mKsWRtfCEH2L7Y,4685
70
- rbx/box/stats.py,sha256=hXp4xF0_dI5TuU7unxAM5q0cVE9e1phmFbBS0PRQUbA,2999
71
- rbx/box/stresses.py,sha256=SOfYhJxge3ykuLlBMALM0IAmpZuOZFS9EP8Jmn6yHiw,12923
73
+ rbx/box/stats.py,sha256=rUAnmp7kTgUvIQ56NLpQaIQkazB37MVcUos5en3xUQw,3258
74
+ rbx/box/stresses.py,sha256=IqlmbIdXydxLW55YEJ3N_jFdXpEshm5iib1pgGf3WRY,12073
72
75
  rbx/box/stressing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
- rbx/box/stressing/finder_parser.py,sha256=jXpYNa4FyugzmHi3r96Uv4rU1krRQJc5Ihr9jf1cvNo,11918
76
+ rbx/box/stressing/finder_parser.py,sha256=PnONJD2yun5X5EmHqkaz-rh3DHhn_BkTPHZrIXRKZbw,11898
74
77
  rbx/box/stressing/generator_parser.py,sha256=oHZryjR3YohgaSO9WEirQ7b2e-98WgZStF0N99W4Thw,7380
75
- rbx/box/tasks.py,sha256=JygSpQzHxH71JwBJCl_JEbAfVMVz34lKjj5bhqQFqaM,10649
78
+ rbx/box/tasks.py,sha256=VpmQcOEPvcnQ8fh4nrZGnkGDIoJOHZzHoa9x_HNG1P0,11239
76
79
  rbx/box/testcase_extractors.py,sha256=J43eG7vpxc5nP_2yhrXJODkd4EYlV4WiYVbM6hzipY4,11944
77
- rbx/box/testcase_utils.py,sha256=epal6TFd2PK3dbEvTTr9tCebfmbF-rQD0d3xW8umriA,6860
80
+ rbx/box/testcase_utils.py,sha256=MzrLq038hp-NvSrfej0_1D98akWq39HxbaFOKi9kOWM,6877
78
81
  rbx/box/testcases/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
82
  rbx/box/testcases/main.py,sha256=_I7h_obRcpNLRQ6dDJDIE5NAvTyn5nBOhdsBhRA_PvU,5442
80
83
  rbx/box/tooling/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
81
84
  rbx/box/tooling/boca/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
85
  rbx/box/tooling/boca/main.py,sha256=knl1rpaHIwA63KkzMJMZQrejzMpbTPBhYqGx1IpuNm4,289
83
86
  rbx/box/tooling/boca/scrape.py,sha256=q1BoVstfLbw5CwB9e2hQnseBv6HQMnXq2z_tk18ui6M,1024
84
- rbx/box/tooling/boca/scraper.py,sha256=ISz8kfEN6srnjJHPdG87wOJgNstEcqrkXF-4PFE8UDg,12686
87
+ rbx/box/tooling/boca/scraper.py,sha256=BVs3GRS7VRY1I6YzfPDc0Se0cSB_OUB61bvkJxFhUc8,12682
85
88
  rbx/box/tooling/main.py,sha256=4nVXUprVUFcqtHU5SMSsOvPlOV9d0fZFPndRUvHrB5I,205
86
89
  rbx/box/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
90
  rbx/box/ui/captured_log.py,sha256=HPoV6LZohuECmjoqOdM_xFZbpICzQnI4n3rF-lf_b1Q,11634
@@ -118,23 +121,26 @@ rbx/console.py,sha256=X8EJy68OROgh6ao3ZcUjZm5Y56VFMzen58ywAuQ7pAU,990
118
121
  rbx/create.py,sha256=ezUq9KiSA-88ASd8CtjWXw8UB4LCaQ3Gib3OgvsLK-Q,986
119
122
  rbx/edit.py,sha256=Zqnx_Pt06ijCxV-pZKGCJhjKB-nVO0QCM6xSBwPWGoE,798
120
123
  rbx/grading/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
- rbx/grading/caching.py,sha256=tUDkhCaH8vA82_Iv-LRBhFjUQY13YWOSKG_3B2DhXpA,12573
124
+ rbx/grading/caching.py,sha256=T86-Q5-VVhXSSF0wC6JoH1kRFKL03l0l_Qf0unWaTE0,14611
122
125
  rbx/grading/conftest.py,sha256=iN9LUG1IQqhK5JjkctcP68v6675oYsiD2sQSgyLMTqw,960
126
+ rbx/grading/debug_context.py,sha256=kuAXEI8yRG8xfhS9WKKIRh9X0e5JUD8zvl_cpczJTC8,699
127
+ rbx/grading/grading_context.py,sha256=VRGlGSyyNQfEuV_E0f5-P7NKb6nCzjplNFmFRBmvWwE,2665
123
128
  rbx/grading/judge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
124
- rbx/grading/judge/cacher.py,sha256=TDgYDhehnJIv64EFiXxPAtVADD8q9WcJa_BE9TsE-JM,17669
129
+ rbx/grading/judge/cacher.py,sha256=wtRnVE_Es9xcqIgrhn6WzUoB90aihUuKaFyuVsusngg,20323
125
130
  rbx/grading/judge/digester.py,sha256=gtOIe_iL4PEWA7OKelW1gjSI-nBvbOpDPJGV8VQyjSg,912
126
- rbx/grading/judge/sandbox.py,sha256=EuBPWPuaRq6ikPd4G2V8fMJLJFkx7mdnNRSuql8loNE,26172
131
+ rbx/grading/judge/sandbox.py,sha256=bk-DBcgjbYoU69IFt-YbIy2-GnCupxv0t6YXQQ_6ZwU,26276
127
132
  rbx/grading/judge/sandboxes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
128
- rbx/grading/judge/sandboxes/isolate.py,sha256=L-h2_GZfFGYQEsGjd-lyzqzpsl6_ytJZ5myVyQCxerk,25961
129
- rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=PSPQUBSSsP2OfEBbcLjx4m2rUlSxLZ-hKyMYP8zJWhI,11310
130
- rbx/grading/judge/sandboxes/timeit.py,sha256=RTfkL5eyjs0ci2c7r9szza7guexKcNWoPjrEFBzkR_4,11359
131
- rbx/grading/judge/storage.py,sha256=3vv0HvtenbUZBH33CB5ZzX66ppL22G6munBaAA9BgwQ,9418
133
+ rbx/grading/judge/sandboxes/isolate.py,sha256=SbzmvjnbMRIHWV68_6jdZ7dZRnC-Hp9ACNyv8OS_Npg,25991
134
+ rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=_5p3IFmrDhyky8RCyc6fjUCiBf2SFSJ99O_4sj7xzTE,11342
135
+ rbx/grading/judge/sandboxes/timeit.py,sha256=V4Nu7YAU85jJp2_MtUbh4g8Fx5Wf3hax-4_UTNCorEs,11355
136
+ rbx/grading/judge/storage.py,sha256=T1r3g8NKzF6IpW2K2gCJSBz81NBAQ_j_0cwq58gqZFA,14373
132
137
  rbx/grading/judge/test.py,sha256=ll0Iw7zyOpGdKPD_PGH7dvUkb4stQLu-ikbQnqJvuAc,944
133
138
  rbx/grading/judge/testiso.py,sha256=v14DtkWiZFJ9AKMzrb0_vZKPWDt8jz8iIw1Z2O-Advk,1397
134
139
  rbx/grading/limits.py,sha256=ev312UTOo8S4-3AAVibQdXZclWCxS96CdbZxqW4y1kE,770
135
140
  rbx/grading/processing_context.py,sha256=Jg9kNnkH3hi2hiE6Gh23QwS89r9Zj230NMl1CUEHSfo,1866
136
- rbx/grading/steps.py,sha256=pL1eoUYOR09jn5MHUsHFU2xTnwrTBo_2K4UPkcy60Oo,29021
137
- rbx/grading/steps_with_caching.py,sha256=nez2YwgauGXKRjhk6tQxTDGQ-HEk7KfZOeAPhsxi5iw,3150
141
+ rbx/grading/profiling.py,sha256=OEdtoAzjYjLfi-QI5Ke7tLZzJeqvGpMB2utQBNuH3E4,3369
142
+ rbx/grading/steps.py,sha256=ChDsSMkSwMjT1NiLe3sBhXuzwuxeLWJjvne9BnwBpDQ,30127
143
+ rbx/grading/steps_with_caching.py,sha256=b6NVZN46IG2r49uQ6u19Jj6AJ_nQFO6_pcKq4dWTwuQ,4579
138
144
  rbx/grading/steps_with_caching_run_test.py,sha256=mh4DRInrOGhnQFWD1SlcjDm_HvcSDFTDMSpAlG-Q5SI,15570
139
145
  rbx/grading_utils.py,sha256=lL2KtSkOsMElqrRoApQTbFcqVOeHVWUDTMCa3IsLpC4,4484
140
146
  rbx/hydration.py,sha256=WqbgIfCZNwqspVhMuUlx8-sNOYhq_ZWbeZnkcetuAZI,3669
@@ -148,8 +154,8 @@ rbx/resources/checkers/noop.cpp,sha256=aZI6EfZEWq2opbb-kysvl0UeUoYGLU682LccP7cfB
148
154
  rbx/resources/default_config.json,sha256=8GZVHns4nci0-e5ALk9C1lfO6TO9W2ZlmZtxHkL6ibA,949
149
155
  rbx/resources/default_setter_config.mac.yml,sha256=i28xwAUDg-kuxx19knCiYkh-NR7QeYen5e0s2BdkpYg,1029
150
156
  rbx/resources/default_setter_config.yml,sha256=oy6fbuQyYaJS2Cw2zcbYcBBGt6138CyB3-bLl45_QqY,1000
151
- rbx/resources/envs/default.rbx.yml,sha256=8gl4DXc5mVISx__1libPQfmuHYdW32xjysfqpNESIAo,853
152
- rbx/resources/envs/isolate.rbx.yml,sha256=VZAJ-Mu-A5Rt4m0VtMygOXA7eLLvCCmoorv_0acDmXQ,870
157
+ rbx/resources/envs/default.rbx.yml,sha256=656E1xgBEHluvNJp2p7miiqEO0XHkpZTVcHlEDRq8BI,850
158
+ rbx/resources/envs/isolate.rbx.yml,sha256=iY7wHco2JYN0LEmZ-ErmjKLz7beyNMUxRkSbhB-Y6bY,867
153
159
  rbx/resources/packagers/boca/checker.sh,sha256=kesoIYeCttAtuQBq-7HvfXK8cAFTJhFbqHm9rNd_udg,1272
154
160
  rbx/resources/packagers/boca/compare.sh,sha256=a6AmQqwrIq616DHjp_S2l95wO7UiMVy0LQ9EajZKDDk,1201
155
161
  rbx/resources/packagers/boca/compile/c,sha256=DZ9PWjgDTuauwY4my8Y8WXz0gZCBd4I7n0k0QxBaAUs,4466
@@ -196,42 +202,45 @@ rbx/resources/packagers/moj/scripts/py2/run.sh,sha256=qshf-K3mKP4c7b45S3D82Wj0Ai
196
202
  rbx/resources/packagers/moj/scripts/py3/compile.sh,sha256=XPn8qDR_gPAAZD9h5lVEMdBkrSogRZvpT4MAaNNp9nk,96
197
203
  rbx/resources/packagers/moj/scripts/py3/prep.sh,sha256=it1e07QRpsnku3-rXOO1ovaw-RJlVVPy9R3I6WWwgMM,126
198
204
  rbx/resources/packagers/moj/scripts/py3/run.sh,sha256=LrMi7Tap9no8gh64QNGUXbWauP6ZpSl-wEwXZ2qhPo0,197
199
- rbx/resources/presets/default/contest/contest.rbx.yml,sha256=nN6FTb9xTISR2Lxv6AoCegEStgmwsfPo5KaFiBlJgWU,535
200
- rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=3YDQo5c-SGbwXcd4uytyY_Mc7UriAditgdJnbN8UdHg,3062
201
- rbx/resources/presets/default/contest/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
202
- rbx/resources/presets/default/contest/statement/template.rbx.tex,sha256=XSGtd8JJKfOmU7yTWcC02x6NND9GUlj9uXOEJC168Lg,834
203
- rbx/resources/presets/default/preset.rbx.yml,sha256=zepC-H2d7c3EZ3pP_agafpinxgCQ53U_JF7X3-WuGak,411
204
- rbx/resources/presets/default/problem/.gitignore,sha256=zc-lnGQQZsLBaXpSshesA_QfxhiZdNCSJDEuKqlPtjw,29
205
- rbx/resources/presets/default/problem/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
206
- rbx/resources/presets/default/problem/problem.rbx.yml,sha256=-tmGCLQD1TLtezoUjbRxJQzz5CtfRtvJEjEG2EYKEls,1689
207
- rbx/resources/presets/default/problem/random.py,sha256=-iPorU24QHfp39EYRJX9jMKcTIxxz5ejKoAzPLIuu1g,98
208
- rbx/resources/presets/default/problem/random.txt,sha256=2BA_AM8IAKEcrUTJhnzWnNJN8whDN82E2137NhFkt2U,137
205
+ rbx/resources/presets/default/contest/.gitignore,sha256=PQMEIEPz0BCdUko1UKhRhcMNhFKA9129LzbbflAGQ6w,30
206
+ rbx/resources/presets/default/contest/contest.rbx.yml,sha256=RLjgB1YL28iV0-pNgDFhkug-PNjibh_YHGZ7dsUMR6U,821
207
+ rbx/resources/presets/default/contest/statement/contest.rbx.tex,sha256=Jx6op_WdVpQOMekvOAZnBzDxxvBzg1_9ZFWtbzGasLo,793
208
+ rbx/resources/presets/default/contest/statement/instructions.tex,sha256=JG_eR13ukZgEahrrmrbg40H8cUzpoUE8QLocihN-fZ8,2414
209
+ rbx/resources/presets/default/contest/statement/logo.png,sha256=RLNYmZoc-BR6AZKkmr4UEg3h01YeFzvy604jMAQC7aA,414485
210
+ rbx/resources/presets/default/env.rbx.yml,sha256=quSPG5Xs9KroYLATNLPNtORLGRWtrLLt2Fx81T1enAM,1692
211
+ rbx/resources/presets/default/preset.rbx.yml,sha256=s7OFotxoe3aFFEstJv5QG7LU3UP370dGe5hA9gWRQpg,498
212
+ rbx/resources/presets/default/problem/.gitignore,sha256=PQMEIEPz0BCdUko1UKhRhcMNhFKA9129LzbbflAGQ6w,30
213
+ rbx/resources/presets/default/problem/gens/gen.cpp,sha256=rn6sGRjZ1sFE1Rq02r6488iquY9xTrutcvLv4d1sohA,178
214
+ rbx/resources/presets/default/problem/manual_tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
215
+ rbx/resources/presets/default/problem/manual_tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
216
+ rbx/resources/presets/default/problem/problem.rbx.yml,sha256=QmwUTgfLjBt3pVIsEtrDTv7cpO-4QIH0m5Y-3xvr6B8,1808
209
217
  rbx/resources/presets/default/problem/rbx.h,sha256=LBkbC3gbDPW2Fdm1p99hNhF7oKpZLLSY7dE4zpepp5w,2161
210
218
  rbx/resources/presets/default/problem/sols/main.cpp,sha256=AW-j65DiFYUN18rddTKCWc_VyYCMgCbjZ0jAJ-0JLuA,124
211
219
  rbx/resources/presets/default/problem/sols/slow.cpp,sha256=at9iXQjROaxG5f6OWH__phENb2SOK3crRfU7AwYT6hM,229
212
220
  rbx/resources/presets/default/problem/sols/wa.cpp,sha256=Bj7tejPIlXG_JqUHWY1zi9TDbHdRZzgT_JDbCLRdhbQ,136
213
- rbx/resources/presets/default/problem/statement/olymp.sty,sha256=k4TCQz1IeXV75oZ2_dcWEQ3ziTDegOEdnYn4Xb4vzsU,6766
214
221
  rbx/resources/presets/default/problem/statement/statement.rbx.tex,sha256=JHdiMN3NQQsysDA1w3RfOGmDFobCc68YCB6SURy2hHo,360
215
- rbx/resources/presets/default/problem/statement/template.rbx.tex,sha256=BNvHDWGY1BU4tHUHtuIYBhdoOqp3fXO5qNr84ekOsgY,1693
216
- rbx/resources/presets/default/problem/tests/samples/000.in,sha256=w66OEtCJGqjUNj8cJrqgImgGVm8W_OlIUtF255ds-ow,4
217
- rbx/resources/presets/default/problem/tests/samples/001.in,sha256=P4QInDX87xXoDWu4PVIzUeNW5LtTlUKbMCvJ9uZOPGw,20
222
+ rbx/resources/presets/default/problem/testplan/random.py,sha256=-iPorU24QHfp39EYRJX9jMKcTIxxz5ejKoAzPLIuu1g,98
223
+ rbx/resources/presets/default/problem/testplan/random.txt,sha256=2BA_AM8IAKEcrUTJhnzWnNJN8whDN82E2137NhFkt2U,137
218
224
  rbx/resources/presets/default/problem/validator.cpp,sha256=w4gl1u30Dx1N9oRTVtIg_rPlIyL6QdN_Bi5FDpp4gyw,317
219
225
  rbx/resources/presets/default/problem/wcmp.cpp,sha256=gbjJe3Vf9-YzHCEqBUq30aI3jMZXhqBDn3jjecYOn-w,902
226
+ rbx/resources/presets/default/shared/contest_template.rbx.tex,sha256=p7fb3pNh9l-0gSXrsjuJ_4c11X2CFPp_Ef6sYtr7bc0,1285
227
+ rbx/resources/presets/default/shared/icpc.sty,sha256=YIZfUV1-HOyW6qj5_2XEx06_vsDtm1lNkuVFUGAxoUg,7114
228
+ rbx/resources/presets/default/shared/problem_template.rbx.tex,sha256=p7fb3pNh9l-0gSXrsjuJ_4c11X2CFPp_Ef6sYtr7bc0,1285
220
229
  rbx/resources/templates/rbx.h,sha256=Iwtmr2gdDYmZ2VlIurmleBb_uEpriWd4EX0dJta8xUA,2179
221
230
  rbx/resources/templates/template.cpp,sha256=xXWpWo7fa7HfmPNqkmHcmv3i46Wm0ZL-gPmkRfGvLn4,317
222
231
  rbx/run.py,sha256=8WsEAdj7FwYSc9itfJ977n5HN5CYN63T__HRYI6IB1A,1515
223
232
  rbx/schema.py,sha256=qcxuuxUJ0KwHR03CEYvdoP1SYW7yes3QyuI_0lnVMl0,1494
224
233
  rbx/submit.py,sha256=7AMqiPyfQRdeO8UPRZqs_gQ88ws5lJrJ_0u40PoVJbQ,2246
225
234
  rbx/submitors/__init__.py,sha256=sVcRNnuKMZatmpGkQURaEVHK-MfU2U0nH4nOatuqywE,620
226
- rbx/submitors/codeforces.py,sha256=TWOfGRbYnPAphaPW1j9JsrL29sAJf-OSakxQjJyBMkU,3998
235
+ rbx/submitors/codeforces.py,sha256=s8c7sXfm5k76SKMC8g0Y93-RRf8wY2uWbBtA8ODD5eM,4030
227
236
  rbx/submitors/submitor.py,sha256=8q-Hbdahxt30ciT_R9j_xF6lEPUh9IcfAUnzjQjbvHU,457
228
- rbx/test.py,sha256=c0nDqmSiPASbug8gFJa3GbTYleuUeaEHWIG4cpEyA8s,11803
237
+ rbx/test.py,sha256=lrjIWESMedaDLX_knikPsJT322oI2nvy8weCslEuHLU,11810
229
238
  rbx/testcase.py,sha256=yKOq3CAJZ1YTmInvnoIs0u1iJnRj_X85XiWbLI-p9d8,1951
230
239
  rbx/testcase_rendering.py,sha256=nfmv6dSEqd4aR3TsaODwkKGK6AXty_DDKtWf_ejiQpI,2084
231
240
  rbx/testing_utils.py,sha256=x_PqD8Zd2PkN91NxVHUnSTs044-1WK5KKtttKQBXpFs,2083
232
- rbx/utils.py,sha256=SfR844_i0ebRDMkmS_w1YdZiWPc6h2RGADygewlWRbA,4845
233
- rbx_cp-0.7.0.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
234
- rbx_cp-0.7.0.dist-info/METADATA,sha256=cJPXcUWJPFAQ-Bo1Ijc8YJqpvo-aJcBsodttyutj-2g,4456
235
- rbx_cp-0.7.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
236
- rbx_cp-0.7.0.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
237
- rbx_cp-0.7.0.dist-info/RECORD,,
241
+ rbx/utils.py,sha256=YvN0q1vaLR9HxUfXKOTx1iN6Bp_fI8YNTQiJ8TNq7eM,4957
242
+ rbx_cp-0.9.0.dist-info/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
243
+ rbx_cp-0.9.0.dist-info/METADATA,sha256=_OdX8Y5IpkjxslvvZ45cTWmL6gpqZ7CiRnT2jlkmqlk,4586
244
+ rbx_cp-0.9.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
245
+ rbx_cp-0.9.0.dist-info/entry_points.txt,sha256=qBTLBOeifT1F00LWaEewRRE_jQPgvH7BUdJfZ-dYsFU,57
246
+ rbx_cp-0.9.0.dist-info/RECORD,,
@@ -1,250 +0,0 @@
1
- % Copyright (c) 2005-2013 Olymp.sty Developers Group.
2
- % See https://github.com/GassaFM/olymp.sty/blob/master/AUTHORS
3
- % for the complete list of authors.
4
-
5
- %\ProvidesPackage{olymp}
6
- \usepackage{verbatim}
7
- \usepackage{xstring}
8
-
9
- % \makeatletter
10
- % \newcommand\FirstWord[1]{\@firstword#1 \@nil}%
11
- % \def\@firstword#1 #2\@nil{\@removecomma#1,\@nil}%
12
- % \def\@removecomma#1,#2\@nil{\@removeperiod#1.\@nil}
13
- % \def\@removeperiod#1.#2\@nil{\@removesemicolon#1;\@nil}
14
- % \def\@removesemicolon#1;#2\@nil{#1}
15
- % \makeatother
16
- \newcommand\FirstWord[1]{#1}
17
-
18
- \ProcessOptions\relax
19
-
20
- \setlength{\parindent}{0pt}
21
- \setlength{\parskip}{0.8em}
22
-
23
- % contest keywords definitions
24
- \def\conProblemTutorial{Problem Tutorial}
25
- \def\conProblem{Problem}
26
- \def\conProblemAuthor{Author:}
27
- \def\conProblemDeveloper{Developer:}
28
- \def\conProblemOrigin{Origin:}
29
- \def\conInputFileName{Input file:}
30
- \def\conOutputFileName{Output file:}
31
- \def\conTimeLimit{Time limit:}
32
- \def\conMemoryLimit{Memory limit:}
33
- \def\conFeedback{Feedback:}
34
- \def\constdin{standard input}
35
- \def\constdout{standard output}
36
- \def\conSpecification{Specification}
37
- \def\conInteraction{Interaction Protocol}
38
- \def\conInput{Input}
39
- \def\conOutput{Output}
40
- \def\conExample{Example}
41
- \def\conExamples{Examples}
42
- \def\conExampleNotes{Notes}
43
- \def\conExplanation{Explanation}
44
- \def\conExplanations{Explanations}
45
- \def\conIllustration{Illustration}
46
- \def\conScoring{Scoring}
47
- \def\conNote{Note}
48
- \def\conNotes{Notes}
49
- \def\conConstraints{Constraints}
50
- \def\conversion{version}
51
- \def\conrevision{revision}
52
- \def\conSubtaskOne{Subtask 1}
53
- \def\conSubtaskTwo{Subtask 2}
54
- \def\conSubtaskThree{Subtask 3}
55
- \def\conSubtaskFour{Subtask 4}
56
- \def\conSubtaskFive{Subtask 5}
57
- \def\conSubtaskSix{Subtask 6}
58
- \def\conSubtask{Subtask}
59
- \def\conpoints{points}
60
- \def\conPage{Page}
61
- \def\conof{of}
62
- \def\connotstated{not stated}
63
- \def\conIntentionallyBlankPage{This page is intentionally left blank}
64
- \def\conTimeSuffix{s}
65
- \def\conMemorySufix{mb}
66
-
67
- % fancyhdr
68
-
69
- % font
70
-
71
- \newcommand{\afterfrontpage}{
72
- \vspace*{\fill}
73
- \begin{center}
74
- \problemheadfont\conIntentionallyBlankPage
75
- \end{center}
76
- \vspace*{\fill}
77
- \clearpage
78
- }
79
- \newcommand{\problemheadfont}{\LARGE}
80
- \newcommand{\problemsectionfont}{\Large}
81
- \newcommand{\problemtextfont}{\normalsize}
82
- \newcommand{\beforeproblemsectioncaption}{\smallbreak\smallskip}
83
- \newcommand{\afterproblemsectioncaption}{\smallskip}
84
- \newcommand{\problemend}{
85
- \clearpage
86
- \ifintentionallyblankpages
87
- \ifodd\value{page}
88
- \else
89
- \afterfrontpage
90
- \fi
91
- \fi
92
- }
93
- \def\presectionspacing{\hspace{3mm}}
94
-
95
- % section commands from olymp
96
-
97
- \newcommand{\createsection}{\@newsection}
98
-
99
- \def\@newsection#1#2{\DeclareRobustCommand{#1}{
100
- {\beforeproblemsectioncaption\bf\problemsectionfont\presectionspacing{#2}}
101
- \nopagebreak\par\afterproblemsectioncaption}
102
- }
103
-
104
- \newcommand{\createsectionpar}{\@newsectionpar}
105
-
106
- \def\@newsectionpar#1#2{\DeclareRobustCommand{#1}[1]{
107
- {\beforeproblemsectioncaption\bf\problemsectionfont{#2~##1}}
108
- \nopagebreak\par\afterproblemsectioncaption}
109
- }
110
-
111
- \newcommand{\createsectionpartwo}{\@newsectionpartwo}
112
-
113
- \def\@newsectionpartwo#1#2#3{\DeclareRobustCommand{#1}[2]{
114
- {\beforeproblemsectioncaption\problemsectionfont{\textbf{#2}~\textbf{##1}~(##2~#3)}}
115
- \nopagebreak\par\afterproblemsectioncaption}
116
- }
117
-
118
- \createsection{\Instructions}{\conInstructions}
119
- \createsection{\Specification}{\conSpecification}
120
- \createsection{\Interaction}{\conInteraction}
121
- \createsection{\InputFile}{\conInput}
122
- \createsection{\OutputFile}{\conOutput}
123
- \createsection{\Example}{\conExample}
124
- \createsection{\Examples}{\conExamples}
125
- \createsection{\Explanation}{\conExplanation}
126
- \createsection{\Explanations}{\conExplanations}
127
- \createsection{\Illustration}{\conIllustration}
128
- \createsection{\Scoring}{\conScoring}
129
- \createsection{\Note}{\conNote}
130
- \createsection{\Notes}{\conNotes}
131
- \createsection{\Constraints}{\conConstraints}
132
- \createsection{\SubtaskOne}{\conSubtaskOne}
133
- \createsection{\SubtaskTwo}{\conSubtaskTwo}
134
- \createsection{\SubtaskThree}{\conSubtaskThree}
135
- \createsection{\SubtaskFour}{\conSubtaskFour}
136
- \createsection{\SubtaskFive}{\conSubtaskFive}
137
- \createsection{\SubtaskSix}{\conSubtaskSix}
138
- \createsectionpar{\Subtask}{\conSubtask}
139
- \createsectionpartwo{\SubtaskWithCost}{\conSubtask}{\conpoints}
140
- \createsection{\Editorial}{\conEditorial}
141
-
142
- % frontpage
143
- \newenvironment{frontpage}[3]{
144
- \thispagestyle{empty}
145
- {\centering
146
- \noindent\rule{18cm}{0.4pt}
147
-
148
- \vspace{1cm}
149
- %\includegraphics[width=0.15\textwidth]{example-image-1x1}\par\vspace{1cm}
150
- {\LARGE #1\par}
151
- %\vspace{1cm}
152
- {\Large #2\par}
153
- \vspace{1cm}}
154
- \def\thisFrontPageDate{#3}
155
- \Instructions
156
- }{
157
- \vspace*{\fill}
158
- \centering{\Large \thisFrontPageDate\par}
159
- \centering\noindent\rule{18cm}{0.4pt}
160
- \newpage
161
- }
162
-
163
- % problem
164
- \newcounter{ProblemCounter}
165
-
166
- \newenvironment{problem}[6][]{
167
-
168
- \def\ProblemLetter{#1}
169
- \stepcounter{ProblemCounter}
170
- \begin{center}
171
- \ifx\ProblemLetter\empty
172
- \else
173
- \problemtextfont\textbf{\conProblem\ \ProblemLetter} \\
174
- \fi
175
- \problemheadfont\textsf{#2} \\
176
- \ifx#5\empty
177
- \else
178
- \problemtextfont{\conTimeLimit\ #5} \\
179
- \fi
180
- \ifx#6\empty
181
- \else
182
- \problemtextfont{\conMemoryLimit\ #6} \\
183
- \fi
184
- %\problemtextfont{\conSourceFileName\ \ProblemLetter\ \conSourceExts} \\
185
- \vspace{0.3cm}
186
- \noindent\rule{16cm}{0.4pt}
187
- \end{center}
188
- \problemtextfont
189
- \newcommand{\InputFileName}{#3}
190
- \newcommand{\OutputFileName}{#4}
191
- }{\problemend}
192
-
193
- % examples
194
- % -- Setup sizes --
195
- \newlength{\thelinewidth}
196
- \newlength{\exmpwidinf}
197
- \newlength{\exmpwidouf}
198
- \newlength{\exmpwidewid}
199
- \newlength{\exmpthreewidinf}
200
- \newlength{\exmpthreewidouf}
201
- \newlength{\exmpthreewidnote}
202
-
203
- \thelinewidth=\textwidth
204
- \exmpwidinf=0.43\thelinewidth
205
- \exmpwidouf=0.43\thelinewidth
206
- \exmpwidewid=0.9\thelinewidth
207
- \exmpthreewidinf=0.28\thelinewidth
208
- \exmpthreewidouf=0.28\thelinewidth
209
- \exmpthreewidnote=0.30\thelinewidth
210
-
211
- \def\s@tm@cr@s{
212
- \def\widthin##1{\exmpwidinf=##1\relax}
213
- \def\widthout##1{\exmpwidouf=##1\relax}
214
- \def\stretchin##1{\advance\exmpwidinf by ##1\relax}
215
- \def\stretchout##1{\advance\exmpwidouf by ##1\relax}
216
- \@ifstar{
217
- \error Star must not be used in example environment any more
218
- }
219
- }
220
-
221
- % This is magic, which delete space after verbatiminput
222
- \addto@hook{\every@verbatim}{\topsep=0pt\relax}
223
-
224
- \newenvironment{example}[1][]{
225
- \s@tm@cr@s#1
226
- \ttfamily\obeyspaces\obeylines\frenchspacing
227
- \newcommand{\exmp}[2]{
228
- \begin{minipage}[t]{\exmpwidinf}\rightskip=0pt plus 1fill\relax##1\medskip\end{minipage}&
229
- \begin{minipage}[t]{\exmpwidouf}\rightskip=0pt plus 1fill\relax##2\medskip\end{minipage}\\
230
- \hline
231
- }
232
-
233
- \newcommand{\exmpfile}[2]{
234
- \exmp{
235
- \verbatiminput{##1}
236
- }{
237
- \verbatiminput{##2}
238
- }%
239
- }
240
-
241
- \begin{center}
242
- \begin{tabular}{|l|l|}
243
- \hline
244
- \multicolumn{1}{|c|}{\bf\texttt{\textbf{\InputFileName}}} &
245
- \multicolumn{1}{|c|}{\bf\texttt{\textbf{\OutputFileName}}} \\
246
- \hline
247
- }{
248
- \end{tabular}
249
- \end{center}
250
- }
@@ -1,42 +0,0 @@
1
- \begin{problem}
2
- %- if problem.short_name is defined
3
- [\VAR{problem.short_name}]
4
- %- endif
5
- {\VAR{problem.title | escape}}
6
- {stdin}
7
- {stdout}
8
- {\VAR{problem.package.timeLimit / 1000 | round(1, 'floor')} s}
9
- {\VAR{problem.package.memoryLimit} MB}
10
-
11
- \VAR{problem.blocks.legend}
12
-
13
- %- if problem.blocks.input is defined
14
- \InputFile
15
- \VAR{problem.blocks.input}
16
- %- endif
17
-
18
- %- if problem.blocks.output is defined
19
- \OutputFile
20
- \VAR{problem.blocks.output}
21
- %- endif
22
-
23
- \Examples
24
-
25
- %- for sample in problem.samples
26
- \begin{example}
27
- \exmpfile{\VAR{sample.inputPath}}{\VAR{sample.outputPath if sample.outputPath is not none else ''}}%
28
- \end{example}
29
- %- endfor
30
-
31
- %- if problem.blocks.notes is defined
32
- \Notes
33
- \VAR{problem.blocks.notes}
34
- %- endif
35
-
36
- %- if problem.blocks.editorial is defined
37
- \Editorial
38
- \VAR{problem.blocks.editorial}
39
- %- endif
40
-
41
-
42
- \end{problem}