Skip to content

Commit 1c4a4d8

Browse files
committed
GrandSlam_season_1_first_tasks
1 parent 121dd8f commit 1c4a4d8

7 files changed

Lines changed: 1150 additions & 0 deletions

File tree

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "grand_slam_s1_2026",
3+
"task_names": [
4+
"rum_thirst",
5+
"feeding_kraken",
6+
"black_mark",
7+
"santa_sleighlone_whetstone_dilemma",
8+
"broadside_salvo"
9+
]
10+
}

tasks/easy/dp/rum_thirst.toml

Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
level = "easy"
2+
name = "rum_thirst"
3+
tags = [ "dp", "algo", "collections",]
4+
time_to_solve_sec = 250
5+
description_en = "A pirate walks along a deck lined with barrels of rum. Each barrel contains a certain number of liters (given as an array of non‑negative integers). The pirate cannot take rum from two adjacent barrels (that would make noise). What is the maximum total amount of rum he can drink unnoticed?\n"
6+
description_ru = "Пират идет по палубе, заставленной бочками с ромом. В каждой бочке разное количество литров (задано массивом неотрицательных целых чисел). Он не может брать ром из двух соседних бочек (поднимется шум). Какое максимальное количество рома он может выпить незаметно?\n"
7+
limits = "- $0 \\leq \\text{len}(\\text{barrels}) \\leq 1000$\n- $0 \\leq \\text{barrels}[i] \\leq 1000$\n"
8+
solution = "def solution(barrels: list[int]) -> int:\n prev2 = prev1 = 0\n for x in barrels:\n prev2, prev1 = prev1, max(prev1, prev2 + x)\n return prev1\n"
9+
examples = "solution([]) == 0\nsolution([5]) == 5\nsolution([5, 3]) == 5\nsolution([5, 3, 7]) == 12\nsolution([2, 7, 9, 3, 1]) == 12\n"
10+
[[input_signature]]
11+
argument_name = "barrels"
12+
13+
[input_signature.type]
14+
name = "array"
15+
[input_signature.type.nested]
16+
name = "integer"
17+
[[asserts]]
18+
arguments = [ [],]
19+
comment = "Test 1"
20+
expected = 0
21+
22+
[[asserts]]
23+
arguments = [ [ 5,],]
24+
comment = "Test 2"
25+
expected = 5
26+
27+
[[asserts]]
28+
arguments = [ [ 5, 3,],]
29+
comment = "Test 3"
30+
expected = 5
31+
32+
[[asserts]]
33+
arguments = [ [ 5, 3, 7,],]
34+
comment = "Test 4"
35+
expected = 12
36+
37+
[[asserts]]
38+
arguments = [ [ 2, 7, 9, 3, 1,],]
39+
comment = "Test 5"
40+
expected = 12
41+
42+
[[asserts]]
43+
arguments = [ [ 1, 2, 3, 4, 5,],]
44+
comment = "Test 6"
45+
expected = 9
46+
47+
[[asserts]]
48+
arguments = [ [ 10, 0, 10, 0, 10,],]
49+
comment = "Test 7"
50+
expected = 30
51+
52+
[[asserts]]
53+
arguments = [ [ 100, 200, 300,],]
54+
comment = "Test 8"
55+
expected = 400
56+
57+
[[asserts]]
58+
arguments = [ [ 137, 582, 867,],]
59+
comment = "Test 9"
60+
expected = 1004
61+
62+
[[asserts]]
63+
arguments = [ [ 978, 883,],]
64+
comment = "Test 10"
65+
expected = 978
66+
67+
[[asserts]]
68+
arguments = [ [ 243,],]
69+
comment = "Test 11"
70+
expected = 243
71+
72+
[[asserts]]
73+
arguments = [ [ 241, 310, 105, 738, 405, 490, 158, 92, 68, 20, 411, 562, 939, 296, 819, 783, 60, 227,],]
74+
comment = "Test 12"
75+
expected = 4026
76+
77+
[[asserts]]
78+
arguments = [ [ 637, 261, 759, 367, 814, 707, 965, 861, 757, 667, 944, 542, 29, 860, 476, 794,],]
79+
comment = "Test 13"
80+
expected = 6530
81+
82+
[[asserts]]
83+
arguments = [ [ 812, 587, 841, 82, 496, 780, 267,],]
84+
comment = "Test 14"
85+
expected = 2433
86+
87+
[[asserts]]
88+
arguments = [ [ 331,],]
89+
comment = "Test 15"
90+
expected = 331
91+
92+
[[asserts]]
93+
arguments = [ [ 232, 379, 985, 384,],]
94+
comment = "Test 16"
95+
expected = 1217
96+
97+
[[asserts]]
98+
arguments = [ [ 474, 627, 382, 273,],]
99+
comment = "Test 17"
100+
expected = 900
101+
102+
[[asserts]]
103+
arguments = [ [ 585, 33, 439, 494,],]
104+
comment = "Test 18"
105+
expected = 1079
106+
107+
[[asserts]]
108+
arguments = [ [ 463, 886, 573, 877, 946, 799, 476, 462, 520, 875, 601, 194, 189, 823, 524, 487, 644, 628,],]
109+
comment = "Test 19"
110+
expected = 6031
111+
112+
[[asserts]]
113+
arguments = [ [ 485, 275, 673, 541, 682,],]
114+
comment = "Test 20"
115+
expected = 1840
116+
117+
[[asserts]]
118+
arguments = [ [ 265, 297, 701, 931, 700, 821, 869, 911, 190, 667, 236,],]
119+
comment = "Test 21"
120+
expected = 3627
121+
122+
[[asserts]]
123+
arguments = [ [ 109, 630, 719, 773,],]
124+
comment = "Test 22"
125+
expected = 1403
126+
127+
[[asserts]]
128+
arguments = [ [ 988, 213, 11, 533, 753, 37, 161, 934, 244, 17, 56, 900, 824, 697, 150, 877, 711, 376, 245, 119,],]
129+
comment = "Test 23"
130+
expected = 5672
131+
132+
[[asserts]]
133+
arguments = [ [ 370, 480, 492, 291, 426, 232, 457, 5, 419, 874,],]
134+
comment = "Test 24"
135+
expected = 2619
136+
137+
[[asserts]]
138+
arguments = [ [ 534, 424, 826, 310, 983, 374, 296, 178,],]
139+
comment = "Test 25"
140+
expected = 2639
141+
142+
[[asserts]]
143+
arguments = [ [ 185, 125, 677, 459, 342, 245, 202, 974, 501, 643, 505, 187, 491, 302, 469, 908, 270,],]
144+
comment = "Test 26"
145+
expected = 4220
146+
147+
[[asserts]]
148+
arguments = [ [ 693, 44, 803, 916, 532, 123,],]
149+
comment = "Test 27"
150+
expected = 2028
151+
152+
[[asserts]]
153+
arguments = [ [ 927, 740, 702, 805, 784, 901, 926, 154, 266, 690, 650, 869, 926, 103, 893, 335,],]
154+
comment = "Test 28"
155+
expected = 6074
156+
157+
[[asserts]]
158+
arguments = [ [ 168, 428, 706, 428, 650, 288, 490, 863, 221, 811, 486, 827, 986, 524, 187, 517, 540, 241,],]
159+
comment = "Test 29"
160+
expected = 5307
161+
162+
[[asserts]]
163+
arguments = [ [],]
164+
comment = "Test 30"
165+
expected = 0
166+
167+
[output_signature.type]
168+
name = "integer"
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
level = "easy"
2+
name = "feeding_kraken"
3+
tags = ["games", "game_theory", "algo"]
4+
time_to_solve_sec = 200
5+
6+
description_en = """
7+
You and the Kraken take turns taking gold coins from three piles. On each turn, you may take any number of coins from a single pile. The player who takes the last coin survives. Determine whether you can win if you play optimally and move first.
8+
"""
9+
10+
description_ru = """
11+
Вы и Кракен по очереди берете золотые монеты из трех кучек. За один ход можно взять любое количество монет из одной кучки. Тот, кто заберет последнюю монету, выживает. Определите, сможете ли вы победить при оптимальной игре, если вы ходите первым.
12+
"""
13+
14+
limits = """
15+
- $0 \\leq a, b, c \\leq 1000$
16+
"""
17+
18+
solution = """
19+
def solution(a: int, b: int, c: int) -> bool:
20+
return (a ^ b ^ c) != 0
21+
"""
22+
23+
examples = """
24+
solution(0, 0, 0) == False
25+
solution(1, 0, 0) == True
26+
solution(1, 1, 0) == False
27+
solution(1, 2, 3) == False
28+
"""
29+
30+
[[input_signature]]
31+
argument_name = "a"
32+
[input_signature.type]
33+
name = "integer"
34+
35+
[[input_signature]]
36+
argument_name = "b"
37+
[input_signature.type]
38+
name = "integer"
39+
40+
[[input_signature]]
41+
argument_name = "c"
42+
[input_signature.type]
43+
name = "integer"
44+
45+
[output_signature.type]
46+
name = "boolean"
47+
48+
[[asserts]]
49+
arguments = [68, 72, 93]
50+
comment = "Test 1"
51+
expected = true
52+
53+
[[asserts]]
54+
arguments = [96, 46, 5]
55+
comment = "Test 2"
56+
expected = true
57+
58+
[[asserts]]
59+
arguments = [8, 54, 23]
60+
comment = "Test 3"
61+
expected = true
62+
63+
[[asserts]]
64+
arguments = [87, 75, 49]
65+
comment = "Test 4"
66+
expected = true
67+
68+
[[asserts]]
69+
arguments = [36, 41, 13]
70+
comment = "Test 5"
71+
expected = false
72+
73+
[[asserts]]
74+
arguments = [49, 97, 80]
75+
comment = "Test 6"
76+
expected = false
77+
78+
[[asserts]]
79+
arguments = [55, 28, 74]
80+
comment = "Test 7"
81+
expected = true
82+
83+
[[asserts]]
84+
arguments = [76, 85, 25]
85+
comment = "Test 8"
86+
expected = false
87+
88+
[[asserts]]
89+
arguments = [62, 43, 60]
90+
comment = "Test 9"
91+
expected = true
92+
93+
[[asserts]]
94+
arguments = [65, 60, 125]
95+
comment = "Test 10"
96+
expected = false
97+
98+
[[asserts]]
99+
arguments = [1, 34, 35]
100+
comment = "Test 11"
101+
expected = false
102+
103+
[[asserts]]
104+
arguments = [62, 16, 46]
105+
comment = "Test 12"
106+
expected = false
107+
108+
[[asserts]]
109+
arguments = [15, 59, 46]
110+
comment = "Test 13"
111+
expected = true
112+
113+
[[asserts]]
114+
arguments = [35, 14, 26]
115+
comment = "Test 14"
116+
expected = true
117+
118+
[[asserts]]
119+
arguments = [20, 88, 76]
120+
comment = "Test 15"
121+
expected = false
122+
123+
[[asserts]]
124+
arguments = [75, 61, 58]
125+
comment = "Test 16"
126+
expected = true
127+
128+
[[asserts]]
129+
arguments = [49, 100, 85]
130+
comment = "Test 17"
131+
expected = false
132+
133+
[[asserts]]
134+
arguments = [90, 95, 32]
135+
comment = "Test 18"
136+
expected = true
137+
138+
[[asserts]]
139+
arguments = [20, 27, 15]
140+
comment = "Test 19"
141+
expected = false
142+
143+
[[asserts]]
144+
arguments = [35, 17, 50]
145+
comment = "Test 20"
146+
expected = false
147+
148+
[[asserts]]
149+
arguments = [46, 87, 121]
150+
comment = "Test 21"
151+
expected = false
152+
153+
[[asserts]]
154+
arguments = [26, 81, 75]
155+
comment = "Test 22"
156+
expected = false
157+
158+
[[asserts]]
159+
arguments = [79, 91, 20]
160+
comment = "Test 23"
161+
expected = false
162+
163+
[[asserts]]
164+
arguments = [29, 89, 85]
165+
comment = "Test 24"
166+
expected = true
167+
168+
[[asserts]]
169+
arguments = [67, 26, 67]
170+
comment = "Test 25"
171+
expected = true
172+
173+
[[asserts]]
174+
arguments = [26, 38, 60]
175+
comment = "Test 26"
176+
expected = false
177+
178+
[[asserts]]
179+
arguments = [93, 94, 3]
180+
comment = "Test 27"
181+
expected = false
182+
183+
[[asserts]]
184+
arguments = [84, 82, 32]
185+
comment = "Test 28"
186+
expected = true
187+
188+
[[asserts]]
189+
arguments = [43, 76, 1]
190+
comment = "Test 29"
191+
expected = true
192+
193+
[[asserts]]
194+
arguments = [50, 7, 7]
195+
comment = "Test 30"
196+
expected = true

0 commit comments

Comments
 (0)