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.
- rbx/box/cd.py +2 -2
- rbx/box/cli.py +87 -33
- rbx/box/code.py +133 -84
- rbx/box/contest/build_contest_statements.py +2 -2
- rbx/box/contest/contest_package.py +1 -1
- rbx/box/contest/main.py +29 -2
- rbx/box/environment.py +140 -80
- rbx/box/formatting.py +2 -1
- rbx/box/global_package.py +74 -0
- rbx/box/package.py +11 -24
- rbx/box/packaging/__init__.py +0 -0
- rbx/box/packaging/boca/__init__.py +0 -0
- rbx/box/packaging/polygon/packager.py +3 -3
- rbx/box/presets/__init__.py +369 -53
- rbx/box/presets/lock_schema.py +42 -2
- rbx/box/presets/schema.py +4 -0
- rbx/box/remote.py +21 -2
- rbx/box/retries.py +3 -2
- rbx/box/sanitizers/warning_stack.py +5 -5
- rbx/box/solutions.py +37 -25
- rbx/box/statements/build_statements.py +6 -6
- rbx/box/statements/builders.py +1 -1
- rbx/box/stats.py +10 -0
- rbx/box/stresses.py +47 -66
- rbx/box/stressing/finder_parser.py +11 -16
- rbx/box/tasks.py +33 -22
- rbx/box/testcase_utils.py +3 -3
- rbx/box/tooling/boca/scraper.py +1 -1
- rbx/grading/caching.py +98 -47
- rbx/grading/debug_context.py +31 -0
- rbx/grading/grading_context.py +96 -0
- rbx/grading/judge/cacher.py +93 -21
- rbx/grading/judge/sandbox.py +8 -4
- rbx/grading/judge/sandboxes/isolate.py +3 -2
- rbx/grading/judge/sandboxes/stupid_sandbox.py +3 -2
- rbx/grading/judge/sandboxes/timeit.py +1 -1
- rbx/grading/judge/storage.py +170 -35
- rbx/grading/profiling.py +126 -0
- rbx/grading/steps.py +46 -17
- rbx/grading/steps_with_caching.py +52 -26
- rbx/resources/envs/default.rbx.yml +2 -3
- rbx/resources/envs/isolate.rbx.yml +2 -3
- rbx/resources/presets/default/contest/.gitignore +6 -0
- rbx/resources/presets/default/contest/contest.rbx.yml +14 -1
- rbx/resources/presets/default/contest/statement/contest.rbx.tex +24 -86
- rbx/resources/presets/default/contest/statement/instructions.tex +40 -0
- rbx/resources/presets/default/contest/statement/logo.png +0 -0
- rbx/resources/presets/default/env.rbx.yml +67 -0
- rbx/resources/presets/default/preset.rbx.yml +6 -2
- rbx/resources/presets/default/problem/.gitignore +1 -1
- rbx/resources/presets/default/problem/problem.rbx.yml +12 -8
- rbx/resources/presets/default/shared/contest_template.rbx.tex +57 -0
- rbx/resources/presets/default/shared/icpc.sty +322 -0
- rbx/resources/presets/default/shared/problem_template.rbx.tex +57 -0
- rbx/submitors/codeforces.py +3 -2
- rbx/test.py +1 -1
- rbx/utils.py +6 -1
- {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/METADATA +4 -1
- {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/RECORD +67 -58
- rbx/resources/presets/default/contest/statement/olymp.sty +0 -250
- rbx/resources/presets/default/contest/statement/template.rbx.tex +0 -42
- rbx/resources/presets/default/problem/statement/olymp.sty +0 -250
- rbx/resources/presets/default/problem/statement/template.rbx.tex +0 -89
- /rbx/resources/presets/default/problem/{gen.cpp → gens/gen.cpp} +0 -0
- /rbx/resources/presets/default/problem/{tests → manual_tests}/samples/000.in +0 -0
- /rbx/resources/presets/default/problem/{tests → manual_tests}/samples/001.in +0 -0
- /rbx/resources/presets/default/problem/{random.py → testplan/random.py} +0 -0
- /rbx/resources/presets/default/problem/{random.txt → testplan/random.txt} +0 -0
- {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/LICENSE +0 -0
- {rbx_cp-0.7.0.dist-info → rbx_cp-0.9.0.dist-info}/WHEEL +0 -0
- {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=
|
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=
|
9
|
-
rbx/box/code.py,sha256=
|
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=
|
14
|
-
rbx/box/contest/contest_package.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
53
|
-
rbx/box/presets/schema.py,sha256=
|
54
|
-
rbx/box/remote.py,sha256=
|
55
|
-
rbx/box/retries.py,sha256=
|
56
|
-
rbx/box/sanitizers/warning_stack.py,sha256=
|
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=
|
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=
|
64
|
-
rbx/box/statements/builders.py,sha256=
|
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=
|
71
|
-
rbx/box/stresses.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
129
|
-
rbx/grading/judge/sandboxes/stupid_sandbox.py,sha256=
|
130
|
-
rbx/grading/judge/sandboxes/timeit.py,sha256=
|
131
|
-
rbx/grading/judge/storage.py,sha256=
|
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/
|
137
|
-
rbx/grading/
|
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=
|
152
|
-
rbx/resources/envs/isolate.rbx.yml,sha256=
|
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
|
200
|
-
rbx/resources/presets/default/contest/
|
201
|
-
rbx/resources/presets/default/contest/statement/
|
202
|
-
rbx/resources/presets/default/contest/statement/
|
203
|
-
rbx/resources/presets/default/
|
204
|
-
rbx/resources/presets/default/
|
205
|
-
rbx/resources/presets/default/
|
206
|
-
rbx/resources/presets/default/problem
|
207
|
-
rbx/resources/presets/default/problem/
|
208
|
-
rbx/resources/presets/default/problem/
|
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/
|
216
|
-
rbx/resources/presets/default/problem/
|
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=
|
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=
|
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=
|
233
|
-
rbx_cp-0.
|
234
|
-
rbx_cp-0.
|
235
|
-
rbx_cp-0.
|
236
|
-
rbx_cp-0.
|
237
|
-
rbx_cp-0.
|
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}
|