Raw vLLM decoding with the official lcb_runner setup (per-model prompt styles,
few-shot for base models, bf16). Window 2023-05 to 2024-09, 714 problems, n=100 samples each.
11 models with complete data; more appear as their analyses finish.
Lines are means over the 714 problems; bands are 95% bootstrap CIs. pass@100 is not shown (with n=100 the k=n estimator has no averaging), so pass@50 is the highest k. Note: Llama-instruct prompts use a single BOS; lcb_runner double-adds it (≈−2 pass@1).
How many genuinely different answers does each model produce per problem, and does that consensus help it get the answer right? Pick the notion of “different” with the toggle: behavioral (same outputs on the tests) or string (same code).
Average number of distinct answers per problem (across 12 models), where distinct is defined by behavioral equivalence on the test inputs: two answers are equivalent if they produce the same output on every test input, up to the grader's normalization — stdout is matched line by line with numeric tokens compared by value (so 1.0 and 1 agree) and function return values are matched exactly. Darker = more diverse.
| model | t=0 | t=0.2 | t=0.4 | t=0.6 | t=0.8 | t=1 |
|---|---|---|---|---|---|---|
| Llama-3 8B | 1.0 [1.0, 1.0] | 18 [17, 19] | 34 [33, 36] | 44 [42, 46] | 45 [44, 47] | 31 [30, 32] |
| Llama-3 8B Instruct | 1.0 [1.0, 1.0] | 13 [12, 14] | 24 [22, 25] | 32 [30, 34] | 37 [35, 38] | 38 [36, 39] |
| Llama-3.1 8B | 1.0 [1.0, 1.0] | 18 [17, 19] | 35 [33, 36] | 45 [44, 47] | 47 [46, 49] | 33 [32, 35] |
| Llama-3.1 8B Instruct | 1.0 [1.0, 1.0] | 21 [20, 23] | 33 [31, 35] | 40 [38, 41] | 44 [42, 45] | 41 [39, 42] |
| Llama-3.2 1B | 1.0 [1.0, 1.0] | 16 [15, 16] | 30 [28, 31] | 35 [34, 37] | 34 [32, 36] | 22 [20, 23] |
| Llama-3.2 1B Instruct | 1.0 [1.0, 1.0] | 27 [26, 29] | 37 [36, 39] | - | - | - |
| Qwen2.5-Coder 3B | 1.0 [1.0, 1.0] | 14 [13, 15] | 26 [25, 28] | 35 [34, 37] | 41 [39, 42] | 36 [35, 37] |
| Qwen2.5-Coder 3B Instruct | 1.0 [1.0, 1.0] | 16 [15, 17] | 25 [23, 26] | 30 [29, 32] | 35 [33, 36] | 36 [35, 38] |
| Qwen2.5-Coder 7B | 1.0 [1.0, 1.0] | 16 [14, 17] | 28 [27, 30] | 38 [36, 39] | 43 [42, 45] | 37 [36, 38] |
| Qwen2.5-Coder 7B Instruct | 1.0 [1.0, 1.0] | 9.5 [8.6, 10.3] | 17 [16, 18] | 22 [21, 24] | 26 [25, 28] | 29 [28, 31] |
| DeepSeek-Coder 6.7B | 1.0 [1.0, 1.0] | 16 [15, 17] | 30 [28, 32] | 40 [39, 42] | 46 [44, 47] | 42 [40, 43] |
| DeepSeek-Coder 6.7B Instruct | 1.0 [1.0, 1.0] | 20 [18, 21] | 31 [30, 33] | 37 [35, 39] | 40 [38, 42] | 41 [40, 43] |
distinct behaviors / 100 (small numbers = 95% bootstrap CI over problems): 1 25 50 75 100 (- = not run)
Change in distinct behaviors per temperature step — paired bootstrap, mean Δ with 95% CI over shared problems; shaded where the CI excludes 0 (green = increase, red = decrease).
| model | t0.2→0.4 | t0.4→0.6 | t0.6→0.8 | t0.8→1 |
|---|---|---|---|---|
| Llama-3 8B | +16.5 [+15.7, +17.3] | +9.8 [+9.1, +10.5] | +1.4 [+0.6, +2.2] | -14.1 [-14.9, -13.2] |
| Llama-3 8B Instruct | +11.2 [+10.5, +11.9] | +8.0 [+7.5, +8.5] | +4.8 [+4.3, +5.3] | +0.8 [+0.3, +1.4] |
| Llama-3.1 8B | +17.1 [+16.3, +17.9] | +10.3 [+9.6, +10.9] | +1.9 [+1.1, +2.6] | -13.6 [-14.5, -12.6] |
| Llama-3.1 8B Instruct | +11.8 [+11.0, +12.5] | +6.6 [+6.1, +7.2] | +3.7 [+3.1, +4.4] | -2.7 [-3.6, -1.8] |
| Llama-3.2 1B | +14.0 [+13.1, +14.8] | +5.8 [+5.1, +6.5] | -1.6 [-2.1, -1.0] | -12.2 [-12.8, -11.4] |
| Llama-3.2 1B Instruct | +10.0 [+9.4, +10.7] | - | - | - |
| Qwen2.5-Coder 3B | +12.3 [+11.6, +13.0] | +9.3 [+8.8, +9.9] | +5.5 [+4.8, +6.1] | -5.2 [-6.1, -4.2] |
| Qwen2.5-Coder 3B Instruct | +8.9 [+8.3, +9.6] | +5.8 [+5.4, +6.3] | +4.1 [+3.6, +4.6] | +1.6 [+1.0, +2.2] |
| Qwen2.5-Coder 7B | +12.9 [+12.1, +13.6] | +9.1 [+8.6, +9.7] | +5.5 [+4.9, +6.2] | -6.0 [-7.0, -5.0] |
| Qwen2.5-Coder 7B Instruct | +7.4 [+6.8, +8.0] | +5.3 [+4.8, +5.8] | +4.2 [+3.8, +4.6] | +3.1 [+2.7, +3.5] |
| DeepSeek-Coder 6.7B | +14.3 [+13.5, +15.1] | +10.1 [+9.5, +10.7] | +5.3 [+4.7, +6.0] | -4.0 [-4.9, -3.1] |
| DeepSeek-Coder 6.7B Instruct | +11.9 [+11.2, +12.6] | +5.7 [+5.2, +6.2] | +3.2 [+2.7, +3.6] | +1.1 [+0.5, +1.6] |
Average number of distinct answers per problem (across 12 models), where distinct is defined by string equivalence of the programs: two answers are equivalent if they are literally the same code, up to stripping trailing whitespace (LiveCodeBench completions are already bare programs). Darker = more diverse; diversity climbs with temperature.
| model | t=0 | t=0.2 | t=0.4 | t=0.6 | t=0.8 | t=1 |
|---|---|---|---|---|---|---|
| Llama-3 8B | 1.0 [1.0, 1.0] | 43 [41, 45] | 79 [78, 81] | 93 [92, 94] | 97 [97, 98] | 99 [99, 99] |
| Llama-3 8B Instruct | 1.0 [1.0, 1.0] | 35 [33, 37] | 65 [63, 67] | 82 [80, 84] | 91 [89, 92] | 95 [95, 96] |
| Llama-3.1 8B | 1.0 [1.0, 1.0] | 43 [41, 45] | 79 [78, 81] | 93 [93, 94] | 97 [97, 98] | 99 [99, 99] |
| Llama-3.1 8B Instruct | 1.0 [1.0, 1.0] | 70 [68, 72] | 89 [88, 91] | 96 [95, 96] | 98 [98, 99] | 99 [99, 99] |
| Llama-3.2 1B | 1.0 [1.0, 1.0] | 52 [50, 53] | 88 [86, 89] | 98 [97, 98] | 100 [99, 100] | 100 [100, 100] |
| Llama-3.2 1B Instruct | 1.0 [1.0, 1.0] | 92 [91, 93] | 99 [99, 99] | - | 100 [100, 100] | 100 [100, 100] |
| Qwen2.5-Coder 3B | 1.0 [1.0, 1.0] | 41 [39, 43] | 74 [73, 76] | 90 [89, 91] | 97 [96, 97] | 99 [99, 99] |
| Qwen2.5-Coder 3B Instruct | 1.0 [1.0, 1.0] | 62 [59, 64] | 84 [82, 86] | 92 [91, 93] | 95 [94, 96] | 97 [97, 98] |
| Qwen2.5-Coder 7B | 1.0 [1.0, 1.0] | 41 [39, 43] | 74 [72, 76] | 90 [88, 91] | 96 [96, 97] | 99 [99, 99] |
| Qwen2.5-Coder 7B Instruct | 1.0 [1.0, 1.0] | 36 [34, 38] | 62 [60, 65] | 75 [73, 78] | 83 [81, 85] | 88 [86, 89] |
| DeepSeek-Coder 6.7B | 1.0 [1.0, 1.0] | 40 [38, 42] | 75 [73, 77] | 91 [90, 92] | 97 [96, 97] | 98 [98, 99] |
| DeepSeek-Coder 6.7B Instruct | 1.0 [1.0, 1.0] | 86 [85, 88] | 94 [93, 95] | 97 [96, 97] | 98 [98, 99] | 99 [99, 100] |
distinct answers / 100 (small numbers = 95% bootstrap CI over problems): 1 25 50 75 100 (- = not run)
Change in distinct answers per temperature step — paired bootstrap, mean Δ with 95% CI over shared problems; shaded where the CI excludes 0 (green = increase, red = decrease).
| model | t0.2→0.4 | t0.4→0.6 | t0.6→0.8 | t0.8→1 |
|---|---|---|---|---|
| Llama-3 8B | +36.0 [+35.0, +37.0] | +14.2 [+13.2, +15.2] | +4.2 [+3.7, +4.8] | +1.8 [+1.6, +2.1] |
| Llama-3 8B Instruct | +30.2 [+29.2, +31.3] | +16.6 [+15.7, +17.4] | +8.9 [+8.2, +9.6] | +4.8 [+4.3, +5.4] |
| Llama-3.1 8B | +36.5 [+35.5, +37.5] | +14.0 [+13.0, +15.0] | +4.1 [+3.6, +4.7] | +1.9 [+1.6, +2.2] |
| Llama-3.1 8B Instruct | +19.5 [+18.3, +20.6] | +6.3 [+5.7, +7.0] | +2.5 [+2.1, +2.9] | +1.1 [+0.9, +1.4] |
| Llama-3.2 1B | +36.0 [+34.9, +37.0] | +9.9 [+9.1, +10.7] | +2.0 [+1.7, +2.4] | +0.3 [+0.2, +0.5] |
| Llama-3.2 1B Instruct | +6.9 [+6.1, +7.7] | - | - | -0.3 [-0.4, -0.3] |
| Qwen2.5-Coder 3B | +33.8 [+32.8, +34.7] | +15.7 [+14.8, +16.7] | +6.6 [+6.0, +7.3] | +2.5 [+2.1, +2.9] |
| Qwen2.5-Coder 3B Instruct | +22.4 [+21.2, +23.5] | +7.8 [+7.1, +8.5] | +3.6 [+3.1, +4.1] | +1.9 [+1.6, +2.3] |
| Qwen2.5-Coder 7B | +32.4 [+31.3, +33.6] | +16.0 [+15.1, +17.0] | +6.7 [+6.0, +7.4] | +2.7 [+2.3, +3.2] |
| Qwen2.5-Coder 7B Instruct | +25.9 [+24.8, +27.0] | +13.3 [+12.5, +14.1] | +7.5 [+6.9, +8.1] | +4.9 [+4.4, +5.5] |
| DeepSeek-Coder 6.7B | +35.2 [+34.3, +36.1] | +15.9 [+15.0, +16.9] | +5.8 [+5.2, +6.4] | +1.7 [+1.3, +2.1] |
| DeepSeek-Coder 6.7B Instruct | +7.3 [+6.4, +8.1] | +3.0 [+2.5, +3.5] | +1.7 [+1.4, +2.0] | +0.9 [+0.7, +1.1] |
| model | stat | t=0 | t=0.2 | t=0.4 | t=0.6 | t=0.8 | t=1 |
|---|---|---|---|---|---|---|---|
| Llama-3 8B | median | 1.0 [1.0, 1.0] | 2.3 [2.0, 2.6] | 1.7 [1.5, 2.0] | 1.1 [1.0, 1.1] | 1.0 [1.0, 1.1] | 1.2 [1.1, 1.4] |
| mean | 1.0 [1.0, 1.0] | 3.8 [3.5, 4.2] | 3.7 [3.4, 4.0] | 3.0 [2.8, 3.3] | 2.8 [2.7, 3.0] | 4.4 [4.2, 4.7] | |
| Llama-3 8B Instruct | median | 1.0 [1.0, 1.0] | 2.9 [2.6, 3.3] | 3.0 [2.6, 3.6] | 2.2 [1.9, 2.5] | 2.0 [1.7, 2.3] | 1.7 [1.4, 1.9] |
| mean | 1.0 [1.0, 1.0] | 4.2 [3.9, 4.5] | 5.2 [4.7, 5.8] | 4.7 [4.4, 5.1] | 4.5 [4.1, 4.8] | 4.2 [3.9, 4.5] | |
| Llama-3.1 8B | median | 1.0 [1.0, 1.0] | 2.3 [2.0, 2.6] | 1.5 [1.3, 1.7] | 1.1 [1.0, 1.1] | 1.0 [1.0, 1.1] | 1.1 [1.1, 1.3] |
| mean | 1.0 [1.0, 1.0] | 3.8 [3.5, 4.1] | 3.6 [3.3, 3.9] | 2.9 [2.7, 3.1] | 2.7 [2.6, 2.9] | 4.0 [3.8, 4.3] | |
| Llama-3.1 8B Instruct | median | 1.0 [1.0, 1.0] | 5.8 [5.0, 6.8] | 4.4 [3.6, 5.3] | 2.9 [2.3, 3.6] | 1.7 [1.3, 2.2] | 1.4 [1.1, 1.7] |
| mean | 1.0 [1.0, 1.0] | 8.5 [7.6, 9.4] | 7.4 [6.5, 8.3] | 5.8 [5.1, 6.5] | 4.5 [4.0, 5.0] | 4.0 [3.7, 4.4] | |
| Llama-3.2 1B | median | 1.0 [1.0, 1.0] | 3.5 [2.9, 4.1] | 1.5 [1.3, 1.9] | 1.1 [1.1, 1.2] | 1.2 [1.1, 1.3] | 2.8 [2.4, 3.3] |
| mean | 1.0 [1.0, 1.0] | 6.5 [5.9, 7.1] | 5.5 [5.0, 6.0] | 4.9 [4.6, 5.3] | 5.4 [5.0, 5.7] | 9.3 [8.7, 9.8] | |
| Llama-3.2 1B Instruct | median | 1.0 [1.0, 1.0] | 3.1 [2.4, 3.9] | 1.3 [1.1, 1.6] | - | - | - |
| mean | 1.0 [1.0, 1.0] | 6.9 [6.1, 7.7] | 4.2 [3.9, 4.6] | - | - | - | |
| Qwen2.5-Coder 3B | median | 1.0 [1.0, 1.0] | 3.6 [3.2, 4.1] | 2.9 [2.5, 3.3] | 1.7 [1.4, 2.0] | 1.1 [1.1, 1.2] | 1.0 [1.0, 1.0] |
| mean | 1.0 [1.0, 1.0] | 5.3 [4.9, 5.7] | 5.7 [5.3, 6.2] | 4.7 [4.3, 5.1] | 3.4 [3.2, 3.6] | 3.4 [3.3, 3.6] | |
| Qwen2.5-Coder 3B Instruct | median | 1.0 [1.0, 1.0] | 5.5 [4.8, 6.2] | 5.8 [4.8, 7.0] | 4.7 [3.7, 5.8] | 3.0 [2.4, 3.7] | 1.4 [1.2, 1.6] |
| mean | 1.0 [1.0, 1.0] | 8.6 [7.9, 9.3] | 9.4 [8.4, 10.5] | 8.2 [7.3, 9.4] | 6.4 [5.8, 7.2] | 4.8 [4.4, 5.1] | |
| Qwen2.5-Coder 7B | median | 1.0 [1.0, 1.0] | 3.6 [3.2, 4.1] | 3.0 [2.6, 3.5] | 2.1 [1.7, 2.5] | 1.2 [1.1, 1.4] | 1.1 [1.0, 1.1] |
| mean | 1.0 [1.0, 1.0] | 5.0 [4.6, 5.5] | 5.7 [5.2, 6.2] | 4.9 [4.5, 5.4] | 3.4 [3.2, 3.7] | 3.3 [3.2, 3.5] | |
| Qwen2.5-Coder 7B Instruct | median | 1.0 [1.0, 1.0] | 5.0 [4.4, 5.5] | 6.5 [5.6, 7.5] | 6.5 [5.6, 7.6] | 5.5 [4.6, 6.5] | 3.5 [2.9, 4.3] |
| mean | 1.0 [1.0, 1.0] | 6.6 [6.1, 7.2] | 9.2 [8.3, 10.2] | 9.7 [8.8, 10.8] | 9.1 [8.1, 10.1] | 7.4 [6.6, 8.2] | |
| DeepSeek-Coder 6.7B | median | 1.0 [1.0, 1.0] | 3.4 [3.0, 3.9] | 3.2 [2.7, 3.8] | 2.2 [1.7, 2.8] | 1.2 [1.1, 1.3] | 1.2 [1.0, 1.4] |
| mean | 1.0 [1.0, 1.0] | 4.8 [4.3, 5.2] | 5.6 [5.0, 6.2] | 4.9 [4.3, 5.5] | 3.4 [3.2, 3.7] | 3.1 [2.9, 3.3] | |
| DeepSeek-Coder 6.7B Instruct | median | 1.0 [1.0, 1.0] | 11.0 [9.5, 12.5] | 7.9 [6.5, 9.5] | 5.5 [4.4, 6.7] | 3.2 [2.5, 3.9] | 1.8 [1.5, 2.1] |
| mean | 1.0 [1.0, 1.0] | 15.0 [13.5, 16.4] | 11.3 [10.0, 12.8] | 8.9 [7.8, 10.1] | 6.6 [5.8, 7.4] | 5.1 [4.6, 5.7] |
string-distinct programs per behavior, averaged over problems (small numbers = 95% bootstrap CI). median = the typical behavior’s textual forms; mean is pulled up by a dominant behavior written many ways (often the correct one, but for a weak model a degenerate failure mode), so a large mean−median gap means the redundancy is concentrated in a few behaviors. (- = not run)
For each problem, take the plurality behavior (the most frequent output-equivalence class) and ask whether it passes; averaging over problems gives P(plurality behavior passes). Fewer distinct behaviors (left) means the model concentrates on one way of acting, and that consensus behavior is far more likely correct. Each line is one (model, temperature) cell with 95% bootstrap CIs; the dropdown slices by a single model or temperature.
For each problem, take the plurality answer (most frequent, no majority required) and ask whether it passes; averaging over problems gives P(plurality answer passes). Fewer distinct answers (left) means the model is more confident and the plurality answer is far more likely correct. Each line is one (model, temperature) cell with 95% bootstrap CIs; the dropdown slices by a single model or temperature so the two are never silently mixed.
Every failing sample re-run through the harness and bucketed mechanically (wrong answer / timeout / runtime / compile / no code).
Each failing solution labelled by a Claude (Sonnet) subagent against the 7-theme taxonomy of Boruch-Gruszecki et al. (2025, agnostics), multi-label, at t=0.2.
The 7-theme taxonomy puts ≈97% of wrong answers into logic_flaw; this splits that blob with a 12-theme sub-taxonomy. Distribution and worked examples below, sourced from Hugging Face.
| sub-theme | count | % |
|---|---|---|
| wrong_algorithm | 3581 | 66.6% |
| wrong_condition | 492 | 9.1% |
| misread_statement | 409 | 7.6% |
| broken_simulation | 246 | 4.6% |
| broken_dp | 171 | 3.2% |
| hardcoded_cases | 139 | 2.6% |
| off_by_one | 125 | 2.3% |
| output_format | 64 | 1.2% |
| missing_edge_case | 64 | 1.2% |
| wrong_greedy | 63 | 1.2% |
| intractable_brute_force | 13 | 0.2% |
| wrong_tiebreak | 12 | 0.2% |
Click a sub-theme for worked examples (problem, solution, and where available the expected vs actual output).
Slavic is preparing a present for a friend's birthday. He has an array $a$ of $n$ digits and the present will be the product of all these digits. Because Slavic is a good kid who wants to make the biggest product possible, he wants to add $1$ to exactly one of his digits. What is the maximum product Slavic can make? Input The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. The first line of each test case contains a single integer $n$ ($1 \leq n \leq 9$) — the number of digits. The second line of each test case contains $n$ space-separated integers $a_i$ ($0 \leq a_i \leq 9$) — the digits in the array. Output For each test case, output a single integer — the maximum product Slavic can make, by adding $1$ to exactly one of his digits.Sample Input 1: 4 4 2 2 1 2 3 0 1 2 5 4 3 2 3 4 9 9 9 9 9 9 9 9 9 9 Sample Output 1: 16 2 432 430467210
def maximum_product(t, test_cases):
for _ in range(t):
n = test_cases[_][0]
a = test_cases[_][1]
max_product = 0
for i in range(n):
if a[i] == 0:
a[i] = 1
max_product = max(max_product, a[i])
a[i] = 0
else:
a[i] += 1
max_product = max(max_product, a[i])
print(max_product)
def main():
t = int(input())
test_cases = []
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
test_cases.append((n, a))
maximum_product(t, test_cases)
main()16 2 432 430467210
3 3 5 10
Wrong answer at output_line_idx=0: 3 != 16
Slavic is preparing a present for a friend's birthday. He has an array $a$ of $n$ digits and the present will be the product of all these digits. Because Slavic is a good kid who wants to make the biggest product possible, he wants to add $1$ to exactly one of his digits. What is the maximum product Slavic can make? Input The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. The first line of each test case contains a single integer $n$ ($1 \leq n \leq 9$) — the number of digits. The second line of each test case contains $n$ space-separated integers $a_i$ ($0 \leq a_i \leq 9$) — the digits in the array. Output For each test case, output a single integer — the maximum product Slavic can make, by adding $1$ to exactly one of his digits.Sample Input 1: 4 4 2 2 1 2 3 0 1 2 5 4 3 2 3 4 9 9 9 9 9 9 9 9 9 9 Sample Output 1: 16 2 432 430467210
def max_product(a):
"""
Calculate the maximum product of digits after adding 1 to exactly one digit.
Args:
a (list): A list of digits.
Returns:
int: The maximum product of digits after adding 1 to exactly one digit.
"""
# Sort the list in descending order
a.sort(reverse=True)
# Initialize the product with the first digit
product = a[0]
# Iterate over the rest of the digits
for i in range(1, len(a)):
# Add 1 to the current digit and multiply with the product
product *= (a[i] + 1)
return product
# Read the number of test cases
t = int(input())
# Process each test case
for _ in range(t):
# Read the number of digits
n = int(input())
# Read the digits
a = list(map(int, input().split()))
# Calculate and print the maximum product
print(max_product(a))16 2 432 430467210
36 4 960 900000000
Wrong answer at output_line_idx=0: 36 != 16
Slavic is preparing a present for a friend's birthday. He has an array $a$ of $n$ digits and the present will be the product of all these digits. Because Slavic is a good kid who wants to make the biggest product possible, he wants to add $1$ to exactly one of his digits. What is the maximum product Slavic can make? Input The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. The first line of each test case contains a single integer $n$ ($1 \leq n \leq 9$) — the number of digits. The second line of each test case contains $n$ space-separated integers $a_i$ ($0 \leq a_i \leq 9$) — the digits in the array. Output For each test case, output a single integer — the maximum product Slavic can make, by adding $1$ to exactly one of his digits.Sample Input 1: 4 4 2 2 1 2 3 0 1 2 5 4 3 2 3 4 9 9 9 9 9 9 9 9 9 9 Sample Output 1: 16 2 432 430467210
# YOUR CODE HERE
t = int(input())
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
max_product = 1
for i in range(n):
max_product *= a[i]
max_product += 1
for i in range(n):
if a[i] == 0:
max_product = max(max_product, 1)
else:
max_product = max(max_product, max_product // a[i] * (a[i] + 1))
print(max_product)16 2 432 430467210
54 3 1200 1000000000
Wrong answer at output_line_idx=0: 54 != 16
Slavic is preparing a present for a friend's birthday. He has an array $a$ of $n$ digits and the present will be the product of all these digits. Because Slavic is a good kid who wants to make the biggest product possible, he wants to add $1$ to exactly one of his digits. What is the maximum product Slavic can make? Input The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. The first line of each test case contains a single integer $n$ ($1 \leq n \leq 9$) — the number of digits. The second line of each test case contains $n$ space-separated integers $a_i$ ($0 \leq a_i \leq 9$) — the digits in the array. Output For each test case, output a single integer — the maximum product Slavic can make, by adding $1$ to exactly one of his digits.Sample Input 1: 4 4 2 2 1 2 3 0 1 2 5 4 3 2 3 4 9 9 9 9 9 9 9 9 9 9 Sample Output 1: 16 2 432 430467210
def max_product(n, a):
max_prod = 0
for i in range(n):
prod = 1
for j in range(n):
if j != i:
prod *= a[j]
if prod > max_prod:
max_prod = prod
return max_prod
def main():
t = int(input())
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
print(max_product(n, a))
main()16 2 432 430467210
8 2 144 43046721
Wrong answer at output_line_idx=0: 8 != 16
Slavic is preparing a present for a friend's birthday. He has an array $a$ of $n$ digits and the present will be the product of all these digits. Because Slavic is a good kid who wants to make the biggest product possible, he wants to add $1$ to exactly one of his digits. What is the maximum product Slavic can make? Input The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. The first line of each test case contains a single integer $n$ ($1 \leq n \leq 9$) — the number of digits. The second line of each test case contains $n$ space-separated integers $a_i$ ($0 \leq a_i \leq 9$) — the digits in the array. Output For each test case, output a single integer — the maximum product Slavic can make, by adding $1$ to exactly one of his digits.Sample Input 1: 4 4 2 2 1 2 3 0 1 2 5 4 3 2 3 4 9 9 9 9 9 9 9 9 9 9 Sample Output 1: 16 2 432 430467210
def maximum_product(n, a):
max_product = 0
for i in range(n):
for j in range(i + 1, n):
product = a[i] * a[j]
if product > max_product:
max_product = product
return max_product
def main():
t = int(input())
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
print(maximum_product(n, a))
main()16 2 432 430467210
4 2 16 81
Wrong answer at output_line_idx=0: 4 != 16
Slavic is preparing a present for a friend's birthday. He has an array $a$ of $n$ digits and the present will be the product of all these digits. Because Slavic is a good kid who wants to make the biggest product possible, he wants to add $1$ to exactly one of his digits. What is the maximum product Slavic can make? Input The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. The first line of each test case contains a single integer $n$ ($1 \leq n \leq 9$) — the number of digits. The second line of each test case contains $n$ space-separated integers $a_i$ ($0 \leq a_i \leq 9$) — the digits in the array. Output For each test case, output a single integer — the maximum product Slavic can make, by adding $1$ to exactly one of his digits.Sample Input 1: 4 4 2 2 1 2 3 0 1 2 5 4 3 2 3 4 9 9 9 9 9 9 9 9 9 9 Sample Output 1: 16 2 432 430467210
import sys
def max_product(n, a):
a.sort()
return max(a[0]*a[1]*a[n-1], a[n-3]*a[n-2]*a[n-1])
t = int(sys.stdin.readline().strip())
for _ in range(t):
n = int(sys.stdin.readline().strip())
a = list(map(int, sys.stdin.readline().strip().split()))
print(max_product(n, a))16 2 432 430467210
8 0 48 729
Wrong answer at output_line_idx=0: 8 != 16
There are three cards with letters $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ placed in a row in some order. You can do the following operation at most once:
- Pick two cards, and swap them. Is it possible that the row becomes $\texttt{abc}$ after the operation? Output "YES" if it is possible, and "NO" otherwise.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 6$) — the number of test cases.
The only line of each test case contains a single string consisting of each of the three characters $\texttt{a}$, $\texttt{b}$, and $\texttt{c}$ exactly once, representing the cards.
Output
For each test case, output "YES" if you can make the row $\texttt{abc}$ with at most one operation, or "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).Sample Input 1:
6
abc
acb
bac
bca
cab
cba
Sample Output 1:
YES
YES
YES
NO
NO
YES
Note
In the first test case, we don't need to do any operations, since the row is already $\texttt{abc}$.
In the second test case, we can swap $\texttt{c}$ and $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.
In the third test case, we can swap $\texttt{b}$ and $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.
In the fourth test case, it is impossible to make $\texttt{abc}$ using at most one operation.def solve():
s = input()
for i in range(3):
for j in range(i+1, 3):
if s[i] == s[j] and s[i] != 'a' and s[j] != 'a':
return "NO"
if s[i] == s[j] and s[i] != 'b' and s[j] != 'b':
return "NO"
if s[i] == s[j] and s[i] != 'c' and s[j] != 'c':
return "NO"
return "YES"
t = int(input())
for _ in range(t):
print(solve())YES YES YES NO NO YES
YES YES YES YES YES YES
Wrong answer at output_line_idx=3: YES != NO
There are three cards with letters $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ placed in a row in some order. You can do the following operation at most once:
- Pick two cards, and swap them. Is it possible that the row becomes $\texttt{abc}$ after the operation? Output "YES" if it is possible, and "NO" otherwise.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 6$) — the number of test cases.
The only line of each test case contains a single string consisting of each of the three characters $\texttt{a}$, $\texttt{b}$, and $\texttt{c}$ exactly once, representing the cards.
Output
For each test case, output "YES" if you can make the row $\texttt{abc}$ with at most one operation, or "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).Sample Input 1:
6
abc
acb
bac
bca
cab
cba
Sample Output 1:
YES
YES
YES
NO
NO
YES
Note
In the first test case, we don't need to do any operations, since the row is already $\texttt{abc}$.
In the second test case, we can swap $\texttt{c}$ and $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.
In the third test case, we can swap $\texttt{b}$ and $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.
In the fourth test case, it is impossible to make $\texttt{abc}$ using at most one operation.# YOUR CODE HERE
import sys
# Read input from stdin
input = sys.stdin.read
data = input().split()
# Number of test cases
t = int(data[0])
# Process each test case
results = []
for i in range(1, t + 1):
# Get the current test case
cards = data[i]
# Check if the cards are already in the desired order
if cards == "abc":
results.append("YES")
else:
# Check if swapping any two cards can make it "abc"
if (cards[0] == "b" and cards[1] == "a" and cards[2] == "c") or \
(cards[0] == "a" and cards[1] == "c" and cards[2] == "b") or \
(cards[0] == "b" and cards[1] == "c" and cards[2] == "a"):
results.append("YES")
else:
results.append("NO")
# Output the results
for result in results:
print(result)YES YES YES NO NO YES
YES YES YES YES NO NO
Wrong answer at output_line_idx=3: YES != NO
You are given a string $s$ of length $n$, consisting of lowercase Latin letters, and an integer $k$. You need to check if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome. Note that you can reorder the remaining characters in any way. A palindrome is a string that reads the same forwards and backwards. For example, the strings "z", "aaa", "aba", "abccba" are palindromes, while the strings "codeforces", "reality", "ab" are not. Input Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of the test cases. This is followed by their description. The first line of each test case contains two integers $n$ and $k$ ($0 \leq k < n \leq 10^5$) — the length of the string $s$ and the number of characters to be deleted. The second line of each test case contains a string $s$ of length $n$, consisting of lowercase Latin letters. It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output "YES" if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome, and "NO" otherwise. You can output the answer in any case (uppercase or lowercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive answers.Sample Input 1: 14 1 0 a 2 0 ab 2 1 ba 3 1 abb 3 2 abc 6 2 bacacd 6 2 fagbza 6 2 zwaafa 7 2 taagaak 14 3 ttrraakkttoorr 5 3 debdb 5 4 ecadc 5 3 debca 5 3 abaac Sample Output 1: YES NO YES YES YES YES NO NO YES YES YES YES NO YES Note In the first test case, nothing can be removed, and the string "a" is a palindrome. In the second test case, nothing can be removed, but the strings "ab" and "ba" are not palindromes. In the third test case, any character can be removed, and the resulting string will be a palindrome. In the fourth test case, one occurrence of the character "a" can be removed, resulting in the string "bb", which is a palindrome. In the sixth test case, one occurrence of the characters "b" and "d" can be removed, resulting in the string "acac", which can be rearranged to the string "acca". In the ninth test case, one occurrence of the characters "t" and "k" can be removed, resulting in the string "aagaa", which is a palindrome.
def solve():
n, k = map(int, input().split())
s = input()
char_count = {}
for char in s:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
odd_count = 0
for count in char_count.values():
if count % 2 != 0:
odd_count += 1
if k < odd_count:
print("NO")
else:
print("YES" if k == 0 else "YES" if k == odd_count else "NO")
t = int(input())
for _ in range(t):
solve()YES NO YES YES YES YES NO NO YES YES YES YES NO YES
NO NO NO YES NO YES NO NO NO NO NO NO NO YES
Wrong answer at output_line_idx=0: NO != YES
You are given a string $s$ of length $n$, consisting of lowercase Latin letters, and an integer $k$. You need to check if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome. Note that you can reorder the remaining characters in any way. A palindrome is a string that reads the same forwards and backwards. For example, the strings "z", "aaa", "aba", "abccba" are palindromes, while the strings "codeforces", "reality", "ab" are not. Input Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of the test cases. This is followed by their description. The first line of each test case contains two integers $n$ and $k$ ($0 \leq k < n \leq 10^5$) — the length of the string $s$ and the number of characters to be deleted. The second line of each test case contains a string $s$ of length $n$, consisting of lowercase Latin letters. It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output "YES" if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome, and "NO" otherwise. You can output the answer in any case (uppercase or lowercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive answers.Sample Input 1: 14 1 0 a 2 0 ab 2 1 ba 3 1 abb 3 2 abc 6 2 bacacd 6 2 fagbza 6 2 zwaafa 7 2 taagaak 14 3 ttrraakkttoorr 5 3 debdb 5 4 ecadc 5 3 debca 5 3 abaac Sample Output 1: YES NO YES YES YES YES NO NO YES YES YES YES NO YES Note In the first test case, nothing can be removed, and the string "a" is a palindrome. In the second test case, nothing can be removed, but the strings "ab" and "ba" are not palindromes. In the third test case, any character can be removed, and the resulting string will be a palindrome. In the fourth test case, one occurrence of the character "a" can be removed, resulting in the string "bb", which is a palindrome. In the sixth test case, one occurrence of the characters "b" and "d" can be removed, resulting in the string "acac", which can be rearranged to the string "acca". In the ninth test case, one occurrence of the characters "t" and "k" can be removed, resulting in the string "aagaa", which is a palindrome.
def is_palindrome(s):
return s == s[::-1]
def can_form_palindrome(s, k):
if k == 0:
return is_palindrome(s)
if k == len(s):
return True
if k > len(s):
return False
freq = {}
for c in s:
if c in freq:
freq[c] += 1
else:
freq[c] = 1
odd_count = 0
for c in freq:
if freq[c] % 2 == 1:
odd_count += 1
if odd_count > 1:
return False
if odd_count == 1:
for c in freq:
if freq[c] % 2 == 1:
freq[c] -= 1
break
return True
def main():
t = int(input())
for _ in range(t):
n, k = map(int, input().split())
s = input()
if can_form_palindrome(s, k):
print("YES")
else:
print("NO")
main()YES NO YES YES YES YES NO NO YES YES YES YES NO YES
YES NO NO YES NO NO NO NO NO YES YES NO NO NO
Wrong answer at output_line_idx=2: NO != YES
You are given a string $s$ of length $n$, consisting of lowercase Latin letters, and an integer $k$. You need to check if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome. Note that you can reorder the remaining characters in any way. A palindrome is a string that reads the same forwards and backwards. For example, the strings "z", "aaa", "aba", "abccba" are palindromes, while the strings "codeforces", "reality", "ab" are not. Input Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of the test cases. This is followed by their description. The first line of each test case contains two integers $n$ and $k$ ($0 \leq k < n \leq 10^5$) — the length of the string $s$ and the number of characters to be deleted. The second line of each test case contains a string $s$ of length $n$, consisting of lowercase Latin letters. It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output "YES" if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome, and "NO" otherwise. You can output the answer in any case (uppercase or lowercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive answers.Sample Input 1: 14 1 0 a 2 0 ab 2 1 ba 3 1 abb 3 2 abc 6 2 bacacd 6 2 fagbza 6 2 zwaafa 7 2 taagaak 14 3 ttrraakkttoorr 5 3 debdb 5 4 ecadc 5 3 debca 5 3 abaac Sample Output 1: YES NO YES YES YES YES NO NO YES YES YES YES NO YES Note In the first test case, nothing can be removed, and the string "a" is a palindrome. In the second test case, nothing can be removed, but the strings "ab" and "ba" are not palindromes. In the third test case, any character can be removed, and the resulting string will be a palindrome. In the fourth test case, one occurrence of the character "a" can be removed, resulting in the string "bb", which is a palindrome. In the sixth test case, one occurrence of the characters "b" and "d" can be removed, resulting in the string "acac", which can be rearranged to the string "acca". In the ninth test case, one occurrence of the characters "t" and "k" can be removed, resulting in the string "aagaa", which is a palindrome.
# YOUR CODE HERE
t = int(input())
for _ in range(t):
n, k = map(int, input().split())
s = input()
odd_count = 0
for char in set(s):
if s.count(char) % 2 != 0:
odd_count += 1
if odd_count > k:
print("NO")
else:
print("YES")YES NO YES YES YES YES NO NO YES YES YES YES NO YES
NO NO NO YES NO YES NO NO NO YES YES YES NO YES
Wrong answer at output_line_idx=0: NO != YES
You are given a string $s$ of length $n$, consisting of lowercase Latin letters, and an integer $k$. You need to check if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome. Note that you can reorder the remaining characters in any way. A palindrome is a string that reads the same forwards and backwards. For example, the strings "z", "aaa", "aba", "abccba" are palindromes, while the strings "codeforces", "reality", "ab" are not. Input Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of the test cases. This is followed by their description. The first line of each test case contains two integers $n$ and $k$ ($0 \leq k < n \leq 10^5$) — the length of the string $s$ and the number of characters to be deleted. The second line of each test case contains a string $s$ of length $n$, consisting of lowercase Latin letters. It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output "YES" if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome, and "NO" otherwise. You can output the answer in any case (uppercase or lowercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive answers.Sample Input 1: 14 1 0 a 2 0 ab 2 1 ba 3 1 abb 3 2 abc 6 2 bacacd 6 2 fagbza 6 2 zwaafa 7 2 taagaak 14 3 ttrraakkttoorr 5 3 debdb 5 4 ecadc 5 3 debca 5 3 abaac Sample Output 1: YES NO YES YES YES YES NO NO YES YES YES YES NO YES Note In the first test case, nothing can be removed, and the string "a" is a palindrome. In the second test case, nothing can be removed, but the strings "ab" and "ba" are not palindromes. In the third test case, any character can be removed, and the resulting string will be a palindrome. In the fourth test case, one occurrence of the character "a" can be removed, resulting in the string "bb", which is a palindrome. In the sixth test case, one occurrence of the characters "b" and "d" can be removed, resulting in the string "acac", which can be rearranged to the string "acca". In the ninth test case, one occurrence of the characters "t" and "k" can be removed, resulting in the string "aagaa", which is a palindrome.
from collections import Counter
def check_palindrome(s, k):
counter = Counter(s)
odd_count = sum(v % 2 for v in counter.values())
return odd_count <= k
t = int(input().strip())
for _ in range(t):
n, k = map(int, input().strip().split())
s = input().strip()
print("YES" if check_palindrome(s, k) else "NO")YES NO YES YES YES YES NO NO YES YES YES YES NO YES
NO NO NO YES NO YES NO NO NO YES YES YES NO YES
Wrong answer at output_line_idx=0: NO != YES
There are three cards with letters $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ placed in a row in some order. You can do the following operation at most once:
- Pick two cards, and swap them. Is it possible that the row becomes $\texttt{abc}$ after the operation? Output "YES" if it is possible, and "NO" otherwise.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 6$) — the number of test cases.
The only line of each test case contains a single string consisting of each of the three characters $\texttt{a}$, $\texttt{b}$, and $\texttt{c}$ exactly once, representing the cards.
Output
For each test case, output "YES" if you can make the row $\texttt{abc}$ with at most one operation, or "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).Sample Input 1:
6
abc
acb
bac
bca
cab
cba
Sample Output 1:
YES
YES
YES
NO
NO
YES
Note
In the first test case, we don't need to do any operations, since the row is already $\texttt{abc}$.
In the second test case, we can swap $\texttt{c}$ and $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.
In the third test case, we can swap $\texttt{b}$ and $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.
In the fourth test case, it is impossible to make $\texttt{abc}$ using at most one operation.def main():
t = int(input())
for _ in range(t):
s = input()
if s == "abc":
print("YES")
else:
print("NO")
main()YES YES YES NO NO YES
YES NO NO NO NO NO
Wrong answer at output_line_idx=1: NO != YES
You are given a string $s$ of length $n$, consisting of lowercase Latin letters, and an integer $k$. You need to check if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome. Note that you can reorder the remaining characters in any way. A palindrome is a string that reads the same forwards and backwards. For example, the strings "z", "aaa", "aba", "abccba" are palindromes, while the strings "codeforces", "reality", "ab" are not. Input Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of the test cases. This is followed by their description. The first line of each test case contains two integers $n$ and $k$ ($0 \leq k < n \leq 10^5$) — the length of the string $s$ and the number of characters to be deleted. The second line of each test case contains a string $s$ of length $n$, consisting of lowercase Latin letters. It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output "YES" if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome, and "NO" otherwise. You can output the answer in any case (uppercase or lowercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive answers.Sample Input 1: 14 1 0 a 2 0 ab 2 1 ba 3 1 abb 3 2 abc 6 2 bacacd 6 2 fagbza 6 2 zwaafa 7 2 taagaak 14 3 ttrraakkttoorr 5 3 debdb 5 4 ecadc 5 3 debca 5 3 abaac Sample Output 1: YES NO YES YES YES YES NO NO YES YES YES YES NO YES Note In the first test case, nothing can be removed, and the string "a" is a palindrome. In the second test case, nothing can be removed, but the strings "ab" and "ba" are not palindromes. In the third test case, any character can be removed, and the resulting string will be a palindrome. In the fourth test case, one occurrence of the character "a" can be removed, resulting in the string "bb", which is a palindrome. In the sixth test case, one occurrence of the characters "b" and "d" can be removed, resulting in the string "acac", which can be rearranged to the string "acca". In the ninth test case, one occurrence of the characters "t" and "k" can be removed, resulting in the string "aagaa", which is a palindrome.
def is_palindrome(s):
return s == s[::-1]
def can_form_palindrome(s, k):
n = len(s)
if k == 0:
return is_palindrome(s)
if k == 1:
return any(s[i] != s[j] for i in range(n) for j in range(i + 1, n))
if k == 2:
return any(s[i] != s[j] and s[i] != s[k] and s[j] != s[k] for i in range(n) for j in range(i + 1, n) for k in range(j + 1, n))
return True
def main():
t = int(input())
for _ in range(t):
n, k = map(int, input().split())
s = input()
if can_form_palindrome(s, k):
print("YES")
else:
print("NO")
main()YES NO YES YES YES YES NO NO YES YES YES YES NO YES
YES NO YES YES YES YES YES YES YES YES YES YES YES YES
Wrong answer at output_line_idx=6: YES != NO
A subarray is a continuous part of array. Yarik recently found an array $a$ of $n$ elements and became very interested in finding the maximum sum of a non empty subarray. However, Yarik doesn't like consecutive integers with the same parity, so the subarray he chooses must have alternating parities for adjacent elements. For example, $[1, 2, 3]$ is acceptable, but $[1, 2, 4]$ is not, as $2$ and $4$ are both even and adjacent. You need to help Yarik by finding the maximum sum of such a subarray. Input The first line contains an integer $t$ $(1 \le t \le 10^4)$ — number of test cases. Each test case is described as follows. The first line of each test case contains an integer $n$ $(1 \le n \le 2 \cdot 10^5)$ — length of the array. The second line of each test case contains $n$ integers $a_1, a_2, \dots, a_n$ $(-10^3 \le a_i \le 10^3)$ — elements of the array. It is guaranteed that the sum of $n$ for all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output a single integer — the answer to the problem.Sample Input 1: 7 5 1 2 3 4 5 4 9 9 8 8 6 -1 4 -1 0 5 -4 4 -1 2 4 -3 1 -1000 3 101 -99 101 20 -10 5 -8 10 6 -10 7 9 -2 -6 7 2 -4 6 -1 7 -6 -7 4 1 Sample Output 1: 15 17 8 4 -1000 101 10
def max_sum_subarray(arr):
n = len(arr)
max_sum = float('-inf')
curr_sum = 0
for i in range(n):
if i % 2 == 0:
curr_sum += arr[i]
else:
curr_sum -= arr[i]
max_sum = max(max_sum, curr_sum)
return max_sum
def main():
t = int(input())
for _ in range(t):
n = int(input())
arr = list(map(int, input().split()))
print(max_sum_subarray(arr))
main()15 17 8 4 -1000 101 10
3 9 3 4 -1000 301 -8
Wrong answer at output_line_idx=0: 3 != 15
Yarik is a big fan of many kinds of music. But Yarik loves not only listening to music but also writing it. He likes electronic music most of all, so he has created his own system of music notes, which, in his opinion, is best for it.
Since Yarik also likes informatics, in his system notes are denoted by integers of $2^k$, where $k \ge 1$ — a positive integer. But, as you know, you can't use just notes to write music, so Yarik uses combinations of two notes. The combination of two notes $(a, b)$, where $a = 2^k$ and $b = 2^l$, he denotes by the integer $a^b$.
For example, if $a = 8 = 2^3$, $b = 4 = 2^2$, then the combination $(a, b)$ is denoted by the integer $a^b = 8^4 = 4096$. Note that different combinations can have the same notation, e.g., the combination $(64, 2)$ is also denoted by the integer $4096 = 64^2$.
Yarik has already chosen $n$ notes that he wants to use in his new melody. However, since their integers can be very large, he has written them down as an array $a$ of length $n$, then the note $i$ is $b_i = 2^{a_i}$. The integers in array $a$ can be repeated.
The melody will consist of several combinations of two notes. Yarik was wondering how many pairs of notes $b_i, b_j$ $(i < j)$ exist such that the combination $(b_i, b_j)$ is equal to the combination $(b_j, b_i)$. In other words, he wants to count the number of pairs $(i, j)$ $(i < j)$ such that $b_i^{b_j} = b_j^{b_i}$. Help him find the number of such pairs.
Input
The first line of the input contains one integer $t$ ($1 \le t \le 10^4$) — the number of test cases.
The first line of each test case contains one integer $n$ ($1 \leq n \leq 2 \cdot 10^5$) — the length of the arrays.
The next line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — array $a$.
It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.
Output
For each test case, output the number of pairs that satisfy the given condition.Sample Input 1:
5
1
2
4
3 1 3 2
2
1000 1000
3
1 1 1
19
2 4 1 6 2 8 5 4 2 10 5 10 8 7 4 3 2 6 10
Sample Output 1:
0
2
1
3
19
def count_pairs(n, a):
count = 0
for i in range(n):
for j in range(i + 1, n):
if a[i] == a[j]:
count += 1
return count
def main():
t = int(input())
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
print(count_pairs(n, a))
main()0 2 1 3 19
0 1 1 3 15
Wrong answer at output_line_idx=1: 1 != 2
Yarik is a big fan of many kinds of music. But Yarik loves not only listening to music but also writing it. He likes electronic music most of all, so he has created his own system of music notes, which, in his opinion, is best for it.
Since Yarik also likes informatics, in his system notes are denoted by integers of $2^k$, where $k \ge 1$ — a positive integer. But, as you know, you can't use just notes to write music, so Yarik uses combinations of two notes. The combination of two notes $(a, b)$, where $a = 2^k$ and $b = 2^l$, he denotes by the integer $a^b$.
For example, if $a = 8 = 2^3$, $b = 4 = 2^2$, then the combination $(a, b)$ is denoted by the integer $a^b = 8^4 = 4096$. Note that different combinations can have the same notation, e.g., the combination $(64, 2)$ is also denoted by the integer $4096 = 64^2$.
Yarik has already chosen $n$ notes that he wants to use in his new melody. However, since their integers can be very large, he has written them down as an array $a$ of length $n$, then the note $i$ is $b_i = 2^{a_i}$. The integers in array $a$ can be repeated.
The melody will consist of several combinations of two notes. Yarik was wondering how many pairs of notes $b_i, b_j$ $(i < j)$ exist such that the combination $(b_i, b_j)$ is equal to the combination $(b_j, b_i)$. In other words, he wants to count the number of pairs $(i, j)$ $(i < j)$ such that $b_i^{b_j} = b_j^{b_i}$. Help him find the number of such pairs.
Input
The first line of the input contains one integer $t$ ($1 \le t \le 10^4$) — the number of test cases.
The first line of each test case contains one integer $n$ ($1 \leq n \leq 2 \cdot 10^5$) — the length of the arrays.
The next line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — array $a$.
It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.
Output
For each test case, output the number of pairs that satisfy the given condition.Sample Input 1:
5
1
2
4
3 1 3 2
2
1000 1000
3
1 1 1
19
2 4 1 6 2 8 5 4 2 10 5 10 8 7 4 3 2 6 10
Sample Output 1:
0
2
1
3
19
def pairs(t, test_cases):
for _ in range(t):
n = test_cases[_][0]
a = test_cases[_][1]
ans = 0
for i in range(n):
for j in range(i + 1, n):
if a[i] == a[j]:
ans += 1
print(ans)
def main():
t = int(input())
test_cases = []
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
test_cases.append((n, a))
pairs(t, test_cases)
main()0 2 1 3 19
0 1 1 3 15
Wrong answer at output_line_idx=1: 1 != 2
Yarik is a big fan of many kinds of music. But Yarik loves not only listening to music but also writing it. He likes electronic music most of all, so he has created his own system of music notes, which, in his opinion, is best for it.
Since Yarik also likes informatics, in his system notes are denoted by integers of $2^k$, where $k \ge 1$ — a positive integer. But, as you know, you can't use just notes to write music, so Yarik uses combinations of two notes. The combination of two notes $(a, b)$, where $a = 2^k$ and $b = 2^l$, he denotes by the integer $a^b$.
For example, if $a = 8 = 2^3$, $b = 4 = 2^2$, then the combination $(a, b)$ is denoted by the integer $a^b = 8^4 = 4096$. Note that different combinations can have the same notation, e.g., the combination $(64, 2)$ is also denoted by the integer $4096 = 64^2$.
Yarik has already chosen $n$ notes that he wants to use in his new melody. However, since their integers can be very large, he has written them down as an array $a$ of length $n$, then the note $i$ is $b_i = 2^{a_i}$. The integers in array $a$ can be repeated.
The melody will consist of several combinations of two notes. Yarik was wondering how many pairs of notes $b_i, b_j$ $(i < j)$ exist such that the combination $(b_i, b_j)$ is equal to the combination $(b_j, b_i)$. In other words, he wants to count the number of pairs $(i, j)$ $(i < j)$ such that $b_i^{b_j} = b_j^{b_i}$. Help him find the number of such pairs.
Input
The first line of the input contains one integer $t$ ($1 \le t \le 10^4$) — the number of test cases.
The first line of each test case contains one integer $n$ ($1 \leq n \leq 2 \cdot 10^5$) — the length of the arrays.
The next line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — array $a$.
It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.
Output
For each test case, output the number of pairs that satisfy the given condition.Sample Input 1:
5
1
2
4
3 1 3 2
2
1000 1000
3
1 1 1
19
2 4 1 6 2 8 5 4 2 10 5 10 8 7 4 3 2 6 10
Sample Output 1:
0
2
1
3
19
# YOUR CODE HERE
t = int(input())
for _ in range(t):
n = int(input())
a = list(map(int, input().split()))
count = 0
for i in range(n):
for j in range(i+1, n):
if a[i] == a[j]:
count += 1
print(count)0 2 1 3 19
0 1 1 3 15
Wrong answer at output_line_idx=1: 1 != 2
You are given a strip of paper $s$ that is $n$ cells long. Each cell is either black or white. In an operation you can take any $k$ consecutive cells and make them all white.
Find the minimum number of operations needed to remove all black cells.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 1000$) — the number of test cases.
The first line of each test case contains two integers $n$ and $k$ ($1 \leq k \leq n \leq 2 \cdot 10^5$) — the length of the paper and the integer used in the operation.
The second line of each test case contains a string $s$ of length $n$ consisting of characters $\texttt{B}$ (representing a black cell) or $\texttt{W}$ (representing a white cell).
The sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.
Output
For each test case, output a single integer — the minimum number of operations needed to remove all black cells.Sample Input 1:
8
6 3
WBWWWB
7 3
WWBWBWW
5 4
BWBWB
5 5
BBBBB
8 2
BWBWBBBB
10 2
WBBWBBWBBW
4 1
BBBB
3 2
WWW
Sample Output 1:
2
1
2
1
4
3
4
0
Note
In the first test case you can perform the following operations: $$\color{red}{\texttt{WBW}}\texttt{WWB} \to \texttt{WWW}\color{red}{\texttt{WWB}} \to \texttt{WWWWWW}$$
In the second test case you can perform the following operations: $$\texttt{WW}\color{red}{\texttt{BWB}}\texttt{WW} \to \texttt{WWWWWWW}$$
In the third test case you can perform the following operations: $$\texttt{B}\color{red}{\texttt{WBWB}} \to \color{red}{\texttt{BWWW}}\texttt{W} \to \texttt{WWWWW}$$def min_operations(n, k, s):
operations = 0
i = 0
while i < n:
if s[i] == 'B':
# Find the next 'W' or the end of the string
j = i
while j < n and s[j] == 'B':
j += 1
# If we found a 'W', we can make all 'B' cells in this segment white
if j < n:
operations += (j - i) // k
i = j
else:
# If we reach the end of the string, we need to make all remaining 'B' cells white
operations += (n - i) // k
break
else:
i += 1
return operations
def main():
t = int(input())
for _ in range(t):
n, k = map(int, input().split())
s = input()
print(min_operations(n, k, s))
if __name__ == "__main__":
main()2 1 2 1 4 3 4 0
0 0 0 1 2 3 4 0
Wrong answer at output_line_idx=0: 0 != 2
You are given a string $s$ of length $n$, consisting of lowercase Latin letters, and an integer $k$. You need to check if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome. Note that you can reorder the remaining characters in any way. A palindrome is a string that reads the same forwards and backwards. For example, the strings "z", "aaa", "aba", "abccba" are palindromes, while the strings "codeforces", "reality", "ab" are not. Input Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of the test cases. This is followed by their description. The first line of each test case contains two integers $n$ and $k$ ($0 \leq k < n \leq 10^5$) — the length of the string $s$ and the number of characters to be deleted. The second line of each test case contains a string $s$ of length $n$, consisting of lowercase Latin letters. It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output "YES" if it is possible to remove exactly $k$ characters from the string $s$ in such a way that the remaining characters can be rearranged to form a palindrome, and "NO" otherwise. You can output the answer in any case (uppercase or lowercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as positive answers.Sample Input 1: 14 1 0 a 2 0 ab 2 1 ba 3 1 abb 3 2 abc 6 2 bacacd 6 2 fagbza 6 2 zwaafa 7 2 taagaak 14 3 ttrraakkttoorr 5 3 debdb 5 4 ecadc 5 3 debca 5 3 abaac Sample Output 1: YES NO YES YES YES YES NO NO YES YES YES YES NO YES Note In the first test case, nothing can be removed, and the string "a" is a palindrome. In the second test case, nothing can be removed, but the strings "ab" and "ba" are not palindromes. In the third test case, any character can be removed, and the resulting string will be a palindrome. In the fourth test case, one occurrence of the character "a" can be removed, resulting in the string "bb", which is a palindrome. In the sixth test case, one occurrence of the characters "b" and "d" can be removed, resulting in the string "acac", which can be rearranged to the string "acca". In the ninth test case, one occurrence of the characters "t" and "k" can be removed, resulting in the string "aagaa", which is a palindrome.
def can_form_palindrome(s, k):
from collections import Counter
# Count the frequency of each character in the string
char_count = Counter(s)
# Count the number of characters with odd frequencies
odd_count = sum(1 for count in char_count.values() if count % 2 != 0)
# If the number of characters with odd frequencies is more than k, it's impossible to form a palindrome
return odd_count <= k
def main():
import sys
input = sys.stdin.read
data = input().split()
t = int(data[0])
del data[:1]
for _ in range(t):
n, k = map(int, data[:2])
del data[:2]
s = data[0]
del data[0]
if can_form_palindrome(s, k):
print("YES")
else:
print("NO")
if __name__ == "__main__":
main()YES NO YES YES YES YES NO NO YES YES YES YES NO YES
NO NO NO YES NO YES NO NO NO YES YES YES NO YES
Wrong answer at output_line_idx=0: NO != YES
A subarray is a continuous part of array. Yarik recently found an array $a$ of $n$ elements and became very interested in finding the maximum sum of a non empty subarray. However, Yarik doesn't like consecutive integers with the same parity, so the subarray he chooses must have alternating parities for adjacent elements. For example, $[1, 2, 3]$ is acceptable, but $[1, 2, 4]$ is not, as $2$ and $4$ are both even and adjacent. You need to help Yarik by finding the maximum sum of such a subarray. Input The first line contains an integer $t$ $(1 \le t \le 10^4)$ — number of test cases. Each test case is described as follows. The first line of each test case contains an integer $n$ $(1 \le n \le 2 \cdot 10^5)$ — length of the array. The second line of each test case contains $n$ integers $a_1, a_2, \dots, a_n$ $(-10^3 \le a_i \le 10^3)$ — elements of the array. It is guaranteed that the sum of $n$ for all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output a single integer — the answer to the problem.Sample Input 1: 7 5 1 2 3 4 5 4 9 9 8 8 6 -1 4 -1 0 5 -4 4 -1 2 4 -3 1 -1000 3 101 -99 101 20 -10 5 -8 10 6 -10 7 9 -2 -6 7 2 -4 6 -1 7 -6 -7 4 1 Sample Output 1: 15 17 8 4 -1000 101 10
def find_max_sum(arr):
"""
This function finds the maximum sum of a non-empty subarray with alternating parities for adjacent elements.
Args:
arr (list): A list of integers.
Returns:
int: The maximum sum of a non-empty subarray with alternating parities for adjacent elements.
"""
if not arr:
return 0
max_sum = float('-inf')
current_sum = 0
parity = 1 # 1 for odd, -1 for even
for num in arr:
# If the current number has the same parity as the previous one, reset the current sum
if num % 2 == parity:
current_sum = 0
# Add the current number to the current sum
current_sum += num
# Update the maximum sum if the current sum is greater
max_sum = max(max_sum, current_sum)
# If the current sum is negative, reset it
if current_sum < 0:
current_sum = 0
parity = -parity # Switch parity
return max_sum
def main():
t = int(input())
for _ in range(t):
n = int(input())
arr = list(map(int, input().split()))
print(find_max_sum(arr))
if __name__ == "__main__":
main()15 17 8 4 -1000 101 10
7 25 8 6 -1000 101 16
Wrong answer at output_line_idx=0: 7 != 15
There is a 0-indexed array nums of length n. Initially, all elements are uncolored (has a value of 0). You are given a 2D integer array queries where queries[i] = [index_i, color_i]. For each query, you color the index index_i with the color color_i in the array nums. Return an array answer of the same length as queries where answer[i] is the number of adjacent elements with the same color after the i^th query. More formally, answer[i] is the number of indices j, such that 0 <= j < n - 1 and nums[j] == nums[j + 1] and nums[j] != 0 after the i^th query. Example 1: Input: n = 4, queries = [[0,2],[1,2],[3,1],[1,1],[2,1]] Output: [0,1,1,0,2] Explanation: Initially array nums = [0,0,0,0], where 0 denotes uncolored elements of the array. - After the 1^st query nums = [2,0,0,0]. The count of adjacent elements with the same color is 0. - After the 2^nd query nums = [2,2,0,0]. The count of adjacent elements with the same color is 1. - After the 3^rd query nums = [2,2,0,1]. The count of adjacent elements with the same color is 1. - After the 4^th query nums = [2,1,0,1]. The count of adjacent elements with the same color is 0. - After the 5^th query nums = [2,1,1,1]. The count of adjacent elements with the same color is 2. Example 2: Input: n = 1, queries = [[0,100000]] Output: [0] Explanation: Initially array nums = [0], where 0 denotes uncolored elements of the array. - After the 1^st query nums = [100000]. The count of adjacent elements with the same color is 0. Constraints: 1 <= n <= 10^5 1 <= queries.length <= 10^5 queries[i].length == 2 0 <= index_i <= n - 1 1 <= color_i <= 10^5
class Solution:
def colorTheArray(self, n: int, queries: List[List[int]]) -> List[int]:
res = [0] * len(queries)
colors = [0] * n
for i, (index, color) in enumerate(queries):
colors[index] = color
if index > 0 and colors[index - 1] == color:
res[i] += 1
if index < n - 1 and colors[index + 1] == color:
res[i] += 1
return res[0, 1, 1, 0, 2]
[0, 1, 0, 0, 2]
Wrong Answer
There is a 0-indexed array nums of length n. Initially, all elements are uncolored (has a value of 0). You are given a 2D integer array queries where queries[i] = [index_i, color_i]. For each query, you color the index index_i with the color color_i in the array nums. Return an array answer of the same length as queries where answer[i] is the number of adjacent elements with the same color after the i^th query. More formally, answer[i] is the number of indices j, such that 0 <= j < n - 1 and nums[j] == nums[j + 1] and nums[j] != 0 after the i^th query. Example 1: Input: n = 4, queries = [[0,2],[1,2],[3,1],[1,1],[2,1]] Output: [0,1,1,0,2] Explanation: Initially array nums = [0,0,0,0], where 0 denotes uncolored elements of the array. - After the 1^st query nums = [2,0,0,0]. The count of adjacent elements with the same color is 0. - After the 2^nd query nums = [2,2,0,0]. The count of adjacent elements with the same color is 1. - After the 3^rd query nums = [2,2,0,1]. The count of adjacent elements with the same color is 1. - After the 4^th query nums = [2,1,0,1]. The count of adjacent elements with the same color is 0. - After the 5^th query nums = [2,1,1,1]. The count of adjacent elements with the same color is 2. Example 2: Input: n = 1, queries = [[0,100000]] Output: [0] Explanation: Initially array nums = [0], where 0 denotes uncolored elements of the array. - After the 1^st query nums = [100000]. The count of adjacent elements with the same color is 0. Constraints: 1 <= n <= 10^5 1 <= queries.length <= 10^5 queries[i].length == 2 0 <= index_i <= n - 1 1 <= color_i <= 10^5
class Solution:
def colorTheArray(self, n: int, queries: List[List[int]]) -> List[int]:
ans = [0] * len(queries)
a = [0] * n
for i, (x, y) in enumerate(queries):
if a[x] == 0:
if x > 0 and a[x - 1] == y:
ans[i] = ans[i - 1] + 1
if x < n - 1 and a[x + 1] == y:
ans[i] = ans[i - 1] + 1
else:
if x > 0 and a[x - 1] == y:
ans[i] = ans[i - 1] - 1
if x < n - 1 and a[x + 1] == y:
ans[i] = ans[i - 1] - 1
if x > 0 and a[x - 1] == a[x]:
ans[i] = ans[i - 1] + 1
if x < n - 1 and a[x + 1] == a[x]:
ans[i] = ans[i - 1] + 1
a[x] = y
return ans[0, 1, 1, 0, 2]
[0, 1, 0, 1, 2]
Wrong Answer
There is a 0-indexed array nums of length n. Initially, all elements are uncolored (has a value of 0). You are given a 2D integer array queries where queries[i] = [index_i, color_i]. For each query, you color the index index_i with the color color_i in the array nums. Return an array answer of the same length as queries where answer[i] is the number of adjacent elements with the same color after the i^th query. More formally, answer[i] is the number of indices j, such that 0 <= j < n - 1 and nums[j] == nums[j + 1] and nums[j] != 0 after the i^th query. Example 1: Input: n = 4, queries = [[0,2],[1,2],[3,1],[1,1],[2,1]] Output: [0,1,1,0,2] Explanation: Initially array nums = [0,0,0,0], where 0 denotes uncolored elements of the array. - After the 1^st query nums = [2,0,0,0]. The count of adjacent elements with the same color is 0. - After the 2^nd query nums = [2,2,0,0]. The count of adjacent elements with the same color is 1. - After the 3^rd query nums = [2,2,0,1]. The count of adjacent elements with the same color is 1. - After the 4^th query nums = [2,1,0,1]. The count of adjacent elements with the same color is 0. - After the 5^th query nums = [2,1,1,1]. The count of adjacent elements with the same color is 2. Example 2: Input: n = 1, queries = [[0,100000]] Output: [0] Explanation: Initially array nums = [0], where 0 denotes uncolored elements of the array. - After the 1^st query nums = [100000]. The count of adjacent elements with the same color is 0. Constraints: 1 <= n <= 10^5 1 <= queries.length <= 10^5 queries[i].length == 2 0 <= index_i <= n - 1 1 <= color_i <= 10^5
class Solution:
def colorTheArray(self, n: int, queries: List[List[int]]) -> List[int]:
ans = [0] * len(queries)
for i, (index, color) in enumerate(queries):
nums = [0] * n
nums[index] = color
for j in range(n - 1):
if nums[j] == nums[j + 1]:
ans[i] += 1
return ans[0, 1, 1, 0, 2]
[2, 1, 2, 1, 1]
Wrong Answer
You are given a 0-indexed string s and a dictionary of words dictionary. You have to break s into one or more non-overlapping substrings such that each substring is present in dictionary. There may be some extra characters in s which are not present in any of the substrings. Return the minimum number of extra characters left over if you break up s optimally. Example 1: Input: s = "leetscode", dictionary = ["leet","code","leetcode"] Output: 1 Explanation: We can break s in two substrings: "leet" from index 0 to 3 and "code" from index 5 to 8. There is only 1 unused character (at index 4), so we return 1. Example 2: Input: s = "sayhelloworld", dictionary = ["hello","world"] Output: 3 Explanation: We can break s in two substrings: "hello" from index 3 to 7 and "world" from index 8 to 12. The characters at indices 0, 1, 2 are not used in any substring and thus are considered as extra characters. Hence, we return 3. Constraints: 1 <= s.length <= 50 1 <= dictionary.length <= 50 1 <= dictionary[i].length <= 50 dictionary[i] and s consists of only lowercase English letters dictionary contains distinct words
from typing import List
class Solution:
def minExtraChar(self, s: str, dictionary: List[str]) -> int:
n = len(s)
dp = [float('inf')] * (n + 1)
dp[0] = 0
for i in range(1, n + 1):
for j in range(i):
if s[j:i] in dictionary:
dp[i] = min(dp[i], dp[j] + (i - j - 1 if i > j else 0))
return dp[n]1
inf
Wrong Answer
You are given a 0-indexed string s and a dictionary of words dictionary. You have to break s into one or more non-overlapping substrings such that each substring is present in dictionary. There may be some extra characters in s which are not present in any of the substrings. Return the minimum number of extra characters left over if you break up s optimally. Example 1: Input: s = "leetscode", dictionary = ["leet","code","leetcode"] Output: 1 Explanation: We can break s in two substrings: "leet" from index 0 to 3 and "code" from index 5 to 8. There is only 1 unused character (at index 4), so we return 1. Example 2: Input: s = "sayhelloworld", dictionary = ["hello","world"] Output: 3 Explanation: We can break s in two substrings: "hello" from index 3 to 7 and "world" from index 8 to 12. The characters at indices 0, 1, 2 are not used in any substring and thus are considered as extra characters. Hence, we return 3. Constraints: 1 <= s.length <= 50 1 <= dictionary.length <= 50 1 <= dictionary[i].length <= 50 dictionary[i] and s consists of only lowercase English letters dictionary contains distinct words
class Solution:
def minExtraChar(self, s: str, dictionary: List[str]) -> int:
dp = [float('inf')] * (len(s) + 1)
dp[0] = 0
for i in range(1, len(s) + 1):
for j in range(i):
if s[j:i] in dictionary:
dp[i] = min(dp[i], dp[j])
return dp[-1]1
inf
Wrong Answer
You are given a 0-indexed string s and a dictionary of words dictionary. You have to break s into one or more non-overlapping substrings such that each substring is present in dictionary. There may be some extra characters in s which are not present in any of the substrings. Return the minimum number of extra characters left over if you break up s optimally. Example 1: Input: s = "leetscode", dictionary = ["leet","code","leetcode"] Output: 1 Explanation: We can break s in two substrings: "leet" from index 0 to 3 and "code" from index 5 to 8. There is only 1 unused character (at index 4), so we return 1. Example 2: Input: s = "sayhelloworld", dictionary = ["hello","world"] Output: 3 Explanation: We can break s in two substrings: "hello" from index 3 to 7 and "world" from index 8 to 12. The characters at indices 0, 1, 2 are not used in any substring and thus are considered as extra characters. Hence, we return 3. Constraints: 1 <= s.length <= 50 1 <= dictionary.length <= 50 1 <= dictionary[i].length <= 50 dictionary[i] and s consists of only lowercase English letters dictionary contains distinct words
class Solution:
def minExtraChar(self, s: str, dictionary: List[str]) -> int:
n = len(s)
dp = [0] * (n + 1)
for i in range(n + 1):
dp[i] = i
for i in range(n):
for j in range(i + 1, n + 1):
if s[i:j] in dictionary:
dp[j] = min(dp[j], dp[i] + j - i)
return dp[n]1
9
Wrong Answer
You are given a 0-indexed integer array nums representing the strength of some heroes. The power of a group of heroes is defined as follows: Let i_0, i_1, ... ,i_k be the indices of the heroes in a group. Then, the power of this group is max(nums[i_0], nums[i_1], ... ,nums[i_k])^2 * min(nums[i_0], nums[i_1], ... ,nums[i_k]). Return the sum of the power of all non-empty groups of heroes possible. Since the sum could be very large, return it modulo 10^9 + 7. Example 1: Input: nums = [2,1,4] Output: 141 Explanation: 1^st group: [2] has power = 2^2 * 2 = 8. 2^nd group: [1] has power = 1^2 * 1 = 1. 3^rd group: [4] has power = 4^2 * 4 = 64. 4^th group: [2,1] has power = 2^2 * 1 = 4. 5^th group: [2,4] has power = 4^2 * 2 = 32. 6^th group: [1,4] has power = 4^2 * 1 = 16. 7^th group: [2,1,4] has power = 4^2 * 1 = 16. The sum of powers of all groups is 8 + 1 + 64 + 4 + 32 + 16 + 16 = 141. Example 2: Input: nums = [1,1,1] Output: 7 Explanation: A total of 7 groups are possible, and the power of each group will be 1. Therefore, the sum of the powers of all groups is 7. Constraints: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^9
class Solution:
def sumOfPower(self, a: List[int]) -> int:
a.sort()
ans = s = cur = 0
for x in a:
cur = cur * 2 % 1000000007 + x * x % 1000000007
ans = (ans + cur * x) % 1000000007
s = (s + x) % 1000000007
return ans141
125
Wrong Answer
You are given a 0-indexed integer array nums representing the strength of some heroes. The power of a group of heroes is defined as follows: Let i_0, i_1, ... ,i_k be the indices of the heroes in a group. Then, the power of this group is max(nums[i_0], nums[i_1], ... ,nums[i_k])^2 * min(nums[i_0], nums[i_1], ... ,nums[i_k]). Return the sum of the power of all non-empty groups of heroes possible. Since the sum could be very large, return it modulo 10^9 + 7. Example 1: Input: nums = [2,1,4] Output: 141 Explanation: 1^st group: [2] has power = 2^2 * 2 = 8. 2^nd group: [1] has power = 1^2 * 1 = 1. 3^rd group: [4] has power = 4^2 * 4 = 64. 4^th group: [2,1] has power = 2^2 * 1 = 4. 5^th group: [2,4] has power = 4^2 * 2 = 32. 6^th group: [1,4] has power = 4^2 * 1 = 16. 7^th group: [2,1,4] has power = 4^2 * 1 = 16. The sum of powers of all groups is 8 + 1 + 64 + 4 + 32 + 16 + 16 = 141. Example 2: Input: nums = [1,1,1] Output: 7 Explanation: A total of 7 groups are possible, and the power of each group will be 1. Therefore, the sum of the powers of all groups is 7. Constraints: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^9
class Solution:
def sumOfPower(self, nums: List[int]) -> int:
MOD = 10**9 + 7
nums.sort()
n = len(nums)
pow2 = [1] * (n + 1)
for i in range(1, n + 1):
pow2[i] = pow2[i - 1] * 2 % MOD
dp = [0] * (n + 1)
dp[0] = 0
for i in range(1, n + 1):
dp[i] = (dp[i - 1] * nums[i - 1] % MOD + pow2[i - 1] * nums[i - 1] % MOD * nums[i - 1] % MOD) % MOD
return dp[-1]141
104
Wrong Answer
Given a positive integer n, return the punishment number of n. The punishment number of n is defined as the sum of the squares of all integers i such that: 1 <= i <= n The decimal representation of i * i can be partitioned into contiguous substrings such that the sum of the integer values of these substrings equals i. Example 1: Input: n = 10 Output: 182 Explanation: There are exactly 3 integers i that satisfy the conditions in the statement: - 1 since 1 * 1 = 1 - 9 since 9 * 9 = 81 and 81 can be partitioned into 8 + 1. - 10 since 10 * 10 = 100 and 100 can be partitioned into 10 + 0. Hence, the punishment number of 10 is 1 + 81 + 100 = 182 Example 2: Input: n = 37 Output: 1478 Explanation: There are exactly 4 integers i that satisfy the conditions in the statement: - 1 since 1 * 1 = 1. - 9 since 9 * 9 = 81 and 81 can be partitioned into 8 + 1. - 10 since 10 * 10 = 100 and 100 can be partitioned into 10 + 0. - 36 since 36 * 36 = 1296 and 1296 can be partitioned into 1 + 29 + 6. Hence, the punishment number of 37 is 1 + 81 + 100 + 1296 = 1478 Constraints: 1 <= n <= 1000
class Solution:
def punishmentNumber(self, n: int) -> int:
def dfs(s, i, target):
if i == len(s):
return int(s) == target
return dfs(s, i + 1, target) or dfs(s, i + 1, target - int(s[i:]))
return sum(i * i for i in range(1, n + 1) if dfs(str(i * i), 0, i))182
1
Wrong Answer
There are three cards with letters $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ placed in a row in some order. You can do the following operation at most once:
- Pick two cards, and swap them. Is it possible that the row becomes $\texttt{abc}$ after the operation? Output "YES" if it is possible, and "NO" otherwise.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 6$) — the number of test cases.
The only line of each test case contains a single string consisting of each of the three characters $\texttt{a}$, $\texttt{b}$, and $\texttt{c}$ exactly once, representing the cards.
Output
For each test case, output "YES" if you can make the row $\texttt{abc}$ with at most one operation, or "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).Sample Input 1:
6
abc
acb
bac
bca
cab
cba
Sample Output 1:
YES
YES
YES
NO
NO
YES
Note
In the first test case, we don't need to do any operations, since the row is already $\texttt{abc}$.
In the second test case, we can swap $\texttt{c}$ and $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.
In the third test case, we can swap $\texttt{b}$ and $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.
In the fourth test case, it is impossible to make $\texttt{abc}$ using at most one operation.# YOUR CODE HERE
def check_order(cards):
if cards == "abc" or cards == "acb" or cards == "bac" or cards == "bca" or cards == "cab" or cards == "cba":
return "YES"
else:
return "NO"
t = int(input())
for _ in range(t):
cards = input()
print(check_order(cards))YES YES YES NO NO YES
YES YES YES YES YES YES
Wrong answer at output_line_idx=3: YES != NO
There are three cards with letters $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ placed in a row in some order. You can do the following operation at most once:
- Pick two cards, and swap them. Is it possible that the row becomes $\texttt{abc}$ after the operation? Output "YES" if it is possible, and "NO" otherwise.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 6$) — the number of test cases.
The only line of each test case contains a single string consisting of each of the three characters $\texttt{a}$, $\texttt{b}$, and $\texttt{c}$ exactly once, representing the cards.
Output
For each test case, output "YES" if you can make the row $\texttt{abc}$ with at most one operation, or "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).Sample Input 1:
6
abc
acb
bac
bca
cab
cba
Sample Output 1:
YES
YES
YES
NO
NO
YES
Note
In the first test case, we don't need to do any operations, since the row is already $\texttt{abc}$.
In the second test case, we can swap $\texttt{c}$ and $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.
In the third test case, we can swap $\texttt{b}$ and $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.
In the fourth test case, it is impossible to make $\texttt{abc}$ using at most one operation.# Read the number of test cases
t = int(input())
# Process each test case
for _ in range(t):
# Read the current test case
s = input()
# Check if the current string is already "abc"
if s == "abc":
print("YES")
else:
# Check if the string can be transformed to "abc" with one swap
if s == "acb" or s == "bac" or s == "bca" or s == "cab" or s == "cba":
print("YES")
else:
print("NO")YES YES YES NO NO YES
YES YES YES YES YES YES
Wrong answer at output_line_idx=3: YES != NO
There are three cards with letters $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ placed in a row in some order. You can do the following operation at most once:
- Pick two cards, and swap them. Is it possible that the row becomes $\texttt{abc}$ after the operation? Output "YES" if it is possible, and "NO" otherwise.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 6$) — the number of test cases.
The only line of each test case contains a single string consisting of each of the three characters $\texttt{a}$, $\texttt{b}$, and $\texttt{c}$ exactly once, representing the cards.
Output
For each test case, output "YES" if you can make the row $\texttt{abc}$ with at most one operation, or "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).Sample Input 1:
6
abc
acb
bac
bca
cab
cba
Sample Output 1:
YES
YES
YES
NO
NO
YES
Note
In the first test case, we don't need to do any operations, since the row is already $\texttt{abc}$.
In the second test case, we can swap $\texttt{c}$ and $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.
In the third test case, we can swap $\texttt{b}$ and $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.
In the fourth test case, it is impossible to make $\texttt{abc}$ using at most one operation.# YOUR CODE HERE
t = int(input())
for _ in range(t):
s = input()
if s == 'abc':
print('YES')
elif s == 'acb' or s == 'bac':
print('YES')
elif s == 'bca' or s == 'cab':
print('YES')
elif s == 'cba':
print('NO')
else:
print('YES')YES YES YES NO NO YES
YES YES YES YES YES NO
Wrong answer at output_line_idx=3: YES != NO
There are three cards with letters $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ placed in a row in some order. You can do the following operation at most once:
- Pick two cards, and swap them. Is it possible that the row becomes $\texttt{abc}$ after the operation? Output "YES" if it is possible, and "NO" otherwise.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 6$) — the number of test cases.
The only line of each test case contains a single string consisting of each of the three characters $\texttt{a}$, $\texttt{b}$, and $\texttt{c}$ exactly once, representing the cards.
Output
For each test case, output "YES" if you can make the row $\texttt{abc}$ with at most one operation, or "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).Sample Input 1:
6
abc
acb
bac
bca
cab
cba
Sample Output 1:
YES
YES
YES
NO
NO
YES
Note
In the first test case, we don't need to do any operations, since the row is already $\texttt{abc}$.
In the second test case, we can swap $\texttt{c}$ and $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.
In the third test case, we can swap $\texttt{b}$ and $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.
In the fourth test case, it is impossible to make $\texttt{abc}$ using at most one operation.def check_abc(s):
if s == "abc":
return "YES"
elif s[0] == "a" and s[1] == "b" and s[2] == "c":
return "YES"
elif s[0] == "b" and s[1] == "a" and s[2] == "c":
return "YES"
elif s[0] == "b" and s[1] == "c" and s[2] == "a":
return "YES"
elif s[0] == "c" and s[1] == "b" and s[2] == "a":
return "YES"
elif s[0] == "c" and s[1] == "a" and s[2] == "b":
return "YES"
else:
return "NO"
def main():
t = int(input())
for _ in range(t):
s = input()
print(check_abc(s))
main()YES YES YES NO NO YES
YES NO YES YES YES YES
Wrong answer at output_line_idx=1: NO != YES
There are three cards with letters $\texttt{a}$, $\texttt{b}$, $\texttt{c}$ placed in a row in some order. You can do the following operation at most once:
- Pick two cards, and swap them. Is it possible that the row becomes $\texttt{abc}$ after the operation? Output "YES" if it is possible, and "NO" otherwise.
Input
The first line contains a single integer $t$ ($1 \leq t \leq 6$) — the number of test cases.
The only line of each test case contains a single string consisting of each of the three characters $\texttt{a}$, $\texttt{b}$, and $\texttt{c}$ exactly once, representing the cards.
Output
For each test case, output "YES" if you can make the row $\texttt{abc}$ with at most one operation, or "NO" otherwise.
You can output the answer in any case (for example, the strings "yEs", "yes", "Yes" and "YES" will be recognized as a positive answer).Sample Input 1:
6
abc
acb
bac
bca
cab
cba
Sample Output 1:
YES
YES
YES
NO
NO
YES
Note
In the first test case, we don't need to do any operations, since the row is already $\texttt{abc}$.
In the second test case, we can swap $\texttt{c}$ and $\texttt{b}$: $\texttt{acb} \to \texttt{abc}$.
In the third test case, we can swap $\texttt{b}$ and $\texttt{a}$: $\texttt{bac} \to \texttt{abc}$.
In the fourth test case, it is impossible to make $\texttt{abc}$ using at most one operation.# YOUR CODE HERE
t = int(input())
for _ in range(t):
s = input()
if s in ['abc', 'acb', 'bac', 'cba', 'cab']:
print('YES')
else:
print('NO')YES YES YES NO NO YES
YES YES YES NO YES YES
Wrong answer at output_line_idx=4: YES != NO
You are given an array of integers $a_1, a_2, \ldots, a_n$ and a number $k$ ($2 \leq k \leq 5$). In one operation, you can do the following: - Choose an index $1 \leq i \leq n$, - Set $a_i = a_i + 1$.Find the minimum number of operations needed to make the product of all the numbers in the array $a_1 \cdot a_2 \cdot \ldots \cdot a_n$ divisible by $k$. Input Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. Then follows the description of the test cases. The first line of each test case contains two integers $n$ and $k$ ($2 \leq n \leq 10^5$, $2 \leq k \leq 5$) — the size of the array $a$ and the number $k$. The second line of each test case contains $n$ integers $a_1, a_2, \ldots, a_n$ ($1 \leq a_i \leq 10$). It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$. Output For each test case, output the minimum number of operations needed to make the product of all the numbers in the array divisible by $k$.Sample Input 1: 15 2 5 7 3 3 3 7 4 1 5 2 9 7 7 3 9 5 5 5 4 1 2 3 7 4 9 5 1 5 9 5 1 3 4 6 3 6 3 4 6 1 5 3 4 1 5 9 4 4 1 4 1 1 3 4 3 5 3 4 5 8 9 9 3 2 5 1 6 2 5 10 10 4 5 1 6 1 1 2 5 7 7 Sample Output 1: 2 2 1 0 2 0 1 2 0 1 1 4 0 4 3 Note In the first test case, we need to choose the index $i = 2$ twice. After that, the array will be $a = [7, 5]$. The product of all the numbers in the array is $35$. In the fourth test case, the product of the numbers in the array is $120$, which is already divisible by $5$, so no operations are needed. In the eighth test case, we can perform two operations by choosing $i = 2$ and $i = 3$ in any order. After that, the array will be $a = [1, 6, 10]$. The product of the numbers in the array is $60$.
def minimum_operations(n, k):
if n == 1:
return 0
if n == 2:
return 1
if n == 3:
return 2
if n == 4:
return 3
if n == 5:
return 4
if n == 6:
return 5
if n == 7:
return 6
if n == 8:
return 7
if n == 9:
return 8
if n == 10:
return 9
if n == 11:
return 10
if n == 12:
return 11
if n == 13:
return 12
if n == 14:
return 13
if n == 15:
return 14
if n == 16:
return 15
if n == 17:
return 16
if n == 18:
return 17
if n == 19:
return 18
if n == 20:
return 19
if n == 21:
return 20
if n == 22:
return 21
if n == 23:
return 22
if n == 24:
return 23
if n == 25:
return 24
if n == 26:
return 25
if n == 27:
return 26
if n == 28:
return 27
if n == 29:
return 28
if n == 30:
return 29
if n == 31:
return 30
if n == 32:
return 31
if n == 33:
return 32
if n == 34:
return 33
if n == 35:
return 34
if n == 36:
return 35
if n == 37:
return 36
if n == 38:
return 37
if n == 39:
return 38
if n == 40:
return 39
if n == 41:
return 40
if n == 42:
return 41
if n == 43:
return 42
if n == 44:
return 43
if n == 45:
return 44
if n == 46:
return 45
if n == 47:
return 46
if n == 48:
return 47
if n == 49:
return 48
if n == 50:
return 49
if n == 51:
return 50
if n == 52:
return 51
if n == 53:
return 52
if n == 54:
return 53
if n == 55:
return 54
if n == 56:
return 55
if n == 57:
return 56
if n == 58:
return 57
if n == 59:
return 58
if n == 60:
return 59
if n == 61:
return 60
if n == 62:
return 61
if n == 63:
return 62
if n == 64:
return 63
if n == 65:
return 64
if n == 66:
return 65
if n == 67:
return 66
if n == 68:
return 67
if n == 69:
return 68
if n == 70:
return 69
if n == 71:
return 70
if n == 72:
return 71
if n == 73:
return 72
if n == 74:
return 73
if n == 75:
return 74
if n == 76:
return 75
if n == 77:
return 76
if n == 78:
return 77
if n == 79:
return 78
if n == 80:
return 79
if n == 81:
return 80
if n == 82:
return 81
if n == 83:
return 82
if n == 84:
return 83
if n == 85:
return 84
if n == 86:
return 85
if n == 87:
return 86
if n == 88:
return 87
if n == 89:
return 88
if n == 90:
return 89
if n == 91:
return 90
if n == 92:
return 91
if n == 93:
return 92
if n == 94:
return 93
if n == 95:
return 94
if n == 96:
return 95
if n == 97:
return 96
if n == 98:
return 97
if n == 99:
return 98
if n == 100:
return 99
if n == 101:
return 100
if n == 102:
return 101
if n == 103:
return 102
if n == 104:
return 103
if n == 105:
return 104
if n == 106:
return 105
if n == 107:
return 106
if n == 108:
return 107
if n == 109:
return 108
if n == 110:
return 109
if n == 111:
return 110
if n == 112:
return 111
if n == 113:
return 112
if n == 114:
return 113
if n == 115:
return 114
if n == 116:
return 115
if n == 2 2 1 0 2 0 1 2 0 1 1 4 0 4 3
Wrong answer: mismatched output length
Alex is participating in the filming of another video of BrMeast, and BrMeast asked Alex to prepare 250 thousand tons of TNT, but Alex didn't hear him well, so he prepared $n$ boxes and arranged them in a row waiting for trucks. The $i$-th box from the left weighs $a_i$ tons.
All trucks that Alex is going to use hold the same number of boxes, denoted by $k$. Loading happens the following way:
- The first $k$ boxes goes to the first truck,
- The second $k$ boxes goes to the second truck,
- $\dotsb$
- The last $k$ boxes goes to the $\frac{n}{k}$-th truck. Upon loading is completed, each truck must have exactly $k$ boxes. In other words, if at some point it is not possible to load exactly $k$ boxes into the truck, then the loading option with that $k$ is not possible.
Alex hates justice, so he wants the maximum absolute difference between the total weights of two trucks to be as great as possible. If there is only one truck, this value is $0$.
Alex has quite a lot of connections, so for every $1 \leq k \leq n$, he can find a company such that each of its trucks can hold exactly $k$ boxes. Print the maximum absolute difference between the total weights of any two trucks.
Input
The first line contains one integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases.
The first line of each test case contains one integer $n$ ($1 \leq n \leq 150\,000$) — the number of boxes.
The second line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — the weights of the boxes.
It is guaranteed that the sum of $n$ for all test cases does not exceed $150\,000$.
Output
For each test case, print a single integer — the answer to the problem.Sample Input 1:
5
2
1 2
6
10 2 3 6 1 3
4
1000000000 1000000000 1000000000 1000000000
15
60978 82265 78961 56708 39846 31071 4913 4769 29092 91348 64119 72421 98405 222 14294
8
19957 69913 37531 96991 57838 21008 14207 19198
Sample Output 1:
1
9
0
189114
112141
Note
In the first case, we should pick two trucks, so the first one will have only the first box, and the second one will have only the second box.
In the second case, we should pick six trucks, so the maximum will be $10$, the minimum will be $1$, and the answer is $10 - 1 = 9$.
In the third case, for any possible $k$, the trucks will have the same total weight of boxes, so the answer is $0$.def maximum_difference(t, test_cases):
for _ in range(t):
n = test_cases[_][0]
weights = test_cases[_][1]
max_diff = 0
for k in range(1, n + 1):
trucks = [0] * (n // k + 1)
for i in range(n):
trucks[i // k] += weights[i]
max_diff = max(max_diff, max(trucks) - min(trucks))
print(max_diff)
def main():
t = int(input())
test_cases = []
for _ in range(t):
n = int(input())
weights = list(map(int, input().split()))
test_cases.append((n, weights))
maximum_difference(t, test_cases)
main()1 9 0 189114 112141
3 25 4000000000 729412 336643
Wrong answer at output_line_idx=0: 3 != 1
You are given a 0-indexed string s and a dictionary of words dictionary. You have to break s into one or more non-overlapping substrings such that each substring is present in dictionary. There may be some extra characters in s which are not present in any of the substrings. Return the minimum number of extra characters left over if you break up s optimally. Example 1: Input: s = "leetscode", dictionary = ["leet","code","leetcode"] Output: 1 Explanation: We can break s in two substrings: "leet" from index 0 to 3 and "code" from index 5 to 8. There is only 1 unused character (at index 4), so we return 1. Example 2: Input: s = "sayhelloworld", dictionary = ["hello","world"] Output: 3 Explanation: We can break s in two substrings: "hello" from index 3 to 7 and "world" from index 8 to 12. The characters at indices 0, 1, 2 are not used in any substring and thus are considered as extra characters. Hence, we return 3. Constraints: 1 <= s.length <= 50 1 <= dictionary.length <= 50 1 <= dictionary[i].length <= 50 dictionary[i] and s consists of only lowercase English letters dictionary contains distinct words
class Solution:
def minExtraChar(self, s: str, dictionary: List[str]) -> int:
n = len(s)
dp = [0] * (n + 1)
for i in range(n - 1, -1, -1):
dp[i] = dp[i + 1] + 1
for j in range(i + 1, n):
if s[i:j + 1] in dictionary:
dp[i] = min(dp[i], dp[j + 1])
return dp[0]6
10
Wrong Answer
You are given a 0-indexed permutation of n integers nums. A permutation is called semi-ordered if the first number equals 1 and the last number equals n. You can perform the below operation as many times as you want until you make nums a semi-ordered permutation: Pick two adjacent elements in nums, then swap them. Return the minimum number of operations to make nums a semi-ordered permutation. A permutation is a sequence of integers from 1 to n of length n containing each number exactly once. Example 1: Input: nums = [2,1,4,3] Output: 2 Explanation: We can make the permutation semi-ordered using these sequence of operations: 1 - swap i = 0 and j = 1. The permutation becomes [1,2,4,3]. 2 - swap i = 2 and j = 3. The permutation becomes [1,2,3,4]. It can be proved that there is no sequence of less than two operations that make nums a semi-ordered permutation. Example 2: Input: nums = [2,4,1,3] Output: 3 Explanation: We can make the permutation semi-ordered using these sequence of operations: 1 - swap i = 1 and j = 2. The permutation becomes [2,1,4,3]. 2 - swap i = 0 and j = 1. The permutation becomes [1,2,4,3]. 3 - swap i = 2 and j = 3. The permutation becomes [1,2,3,4]. It can be proved that there is no sequence of less than three operations that make nums a semi-ordered permutation. Example 3: Input: nums = [1,3,4,2,5] Output: 0 Explanation: The permutation is already a semi-ordered permutation. Constraints: 2 <= nums.length == n <= 50 1 <= nums[i] <= 50 nums is a permutation.
class Solution:
def semiOrderedPermutation(self, nums: List[int]) -> int:
n = len(nums)
if nums[0] == 1 and nums[-1] == n:
return 0
if nums[0] == 1:
return n - 1 - nums.index(n)
if nums[-1] == n:
return nums.index(1)
return nums.index(1) + n - 1 - nums.index(n) - 12
1
Wrong Answer
There are n friends that are playing a game. The friends are sitting in a circle and are numbered from 1 to n in clockwise order. More formally, moving clockwise from the i^th friend brings you to the (i+1)^th friend for 1 <= i < n, and moving clockwise from the n^th friend brings you to the 1^st friend. The rules of the game are as follows: 1^st friend receives the ball. After that, 1^st friend passes it to the friend who is k steps away from them in the clockwise direction. After that, the friend who receives the ball should pass it to the friend who is 2 * k steps away from them in the clockwise direction. After that, the friend who receives the ball should pass it to the friend who is 3 * k steps away from them in the clockwise direction, and so on and so forth. In other words, on the i^th turn, the friend holding the ball should pass it to the friend who is i * k steps away from them in the clockwise direction. The game is finished when some friend receives the ball for the second time. The losers of the game are friends who did not receive the ball in the entire game. Given the number of friends, n, and an integer k, return the array answer, which contains the losers of the game in the ascending order. Example 1: Input: n = 5, k = 2 Output: [4,5] Explanation: The game goes as follows: 1) Start at 1^st friend and pass the ball to the friend who is 2 steps away from them - 3^rd friend. 2) 3^rd friend passes the ball to the friend who is 4 steps away from them - 2^nd friend. 3) 2^nd friend passes the ball to the friend who is 6 steps away from them - 3^rd friend. 4) The game ends as 3^rd friend receives the ball for the second time. Example 2: Input: n = 4, k = 4 Output: [2,3,4] Explanation: The game goes as follows: 1) Start at the 1^st friend and pass the ball to the friend who is 4 steps away from them - 1^st friend. 2) The game ends as 1^st friend receives the ball for the second time. Constraints: 1 <= k <= n <= 50
class Solution:
def circularGameLosers(self, n: int, k: int) -> List[int]:
seen = set()
i = 0
step = 1
while i not in seen:
seen.add(i)
i = (i + step * k) % n
step += 1
return [i for i in range(n) if i not in seen][4, 5]
[3, 4]
Wrong Answer
There are n friends that are playing a game. The friends are sitting in a circle and are numbered from 1 to n in clockwise order. More formally, moving clockwise from the i^th friend brings you to the (i+1)^th friend for 1 <= i < n, and moving clockwise from the n^th friend brings you to the 1^st friend. The rules of the game are as follows: 1^st friend receives the ball. After that, 1^st friend passes it to the friend who is k steps away from them in the clockwise direction. After that, the friend who receives the ball should pass it to the friend who is 2 * k steps away from them in the clockwise direction. After that, the friend who receives the ball should pass it to the friend who is 3 * k steps away from them in the clockwise direction, and so on and so forth. In other words, on the i^th turn, the friend holding the ball should pass it to the friend who is i * k steps away from them in the clockwise direction. The game is finished when some friend receives the ball for the second time. The losers of the game are friends who did not receive the ball in the entire game. Given the number of friends, n, and an integer k, return the array answer, which contains the losers of the game in the ascending order. Example 1: Input: n = 5, k = 2 Output: [4,5] Explanation: The game goes as follows: 1) Start at 1^st friend and pass the ball to the friend who is 2 steps away from them - 3^rd friend. 2) 3^rd friend passes the ball to the friend who is 4 steps away from them - 2^nd friend. 3) 2^nd friend passes the ball to the friend who is 6 steps away from them - 3^rd friend. 4) The game ends as 3^rd friend receives the ball for the second time. Example 2: Input: n = 4, k = 4 Output: [2,3,4] Explanation: The game goes as follows: 1) Start at the 1^st friend and pass the ball to the friend who is 4 steps away from them - 1^st friend. 2) The game ends as 1^st friend receives the ball for the second time. Constraints: 1 <= k <= n <= 50
class Solution:
def circularGameLosers(self, n: int, k: int) -> List[int]:
# Initialize a list to keep track of who has received the ball
received = [0] * (n + 1)
# Start at the 1^st friend
current = 1
# Start passing the ball
for i in range(1, n + 1):
# Pass the ball to the friend i * k steps away
current = (current + i * k) % n
# If the current friend has received the ball for the first time, mark them as received
if current == 0:
current = n
received[current] = 1
# Return the friends who have not received the ball
return [i for i in range(1, n + 1) if received[i] == 0][]
[1]
Wrong Answer
There are n friends that are playing a game. The friends are sitting in a circle and are numbered from 1 to n in clockwise order. More formally, moving clockwise from the i^th friend brings you to the (i+1)^th friend for 1 <= i < n, and moving clockwise from the n^th friend brings you to the 1^st friend. The rules of the game are as follows: 1^st friend receives the ball. After that, 1^st friend passes it to the friend who is k steps away from them in the clockwise direction. After that, the friend who receives the ball should pass it to the friend who is 2 * k steps away from them in the clockwise direction. After that, the friend who receives the ball should pass it to the friend who is 3 * k steps away from them in the clockwise direction, and so on and so forth. In other words, on the i^th turn, the friend holding the ball should pass it to the friend who is i * k steps away from them in the clockwise direction. The game is finished when some friend receives the ball for the second time. The losers of the game are friends who did not receive the ball in the entire game. Given the number of friends, n, and an integer k, return the array answer, which contains the losers of the game in the ascending order. Example 1: Input: n = 5, k = 2 Output: [4,5] Explanation: The game goes as follows: 1) Start at 1^st friend and pass the ball to the friend who is 2 steps away from them - 3^rd friend. 2) 3^rd friend passes the ball to the friend who is 4 steps away from them - 2^nd friend. 3) 2^nd friend passes the ball to the friend who is 6 steps away from them - 3^rd friend. 4) The game ends as 3^rd friend receives the ball for the second time. Example 2: Input: n = 4, k = 4 Output: [2,3,4] Explanation: The game goes as follows: 1) Start at the 1^st friend and pass the ball to the friend who is 4 steps away from them - 1^st friend. 2) The game ends as 1^st friend receives the ball for the second time. Constraints: 1 <= k <= n <= 50
class Solution:
def circularGameLosers(self, n: int, k: int) -> List[int]:
s = set()
i, j = 0, 1
while i not in s:
s.add(i)
i = (i + j * k) % n
j += 1
return [i for i in range(n) if i not in s][4, 5]
[3, 4]
Wrong Answer
Given an array of strings words and a character separator, split each string in words by separator. Return an array of strings containing the new strings formed after the splits, excluding empty strings. Notes separator is used to determine where the split should occur, but it is not included as part of the resulting strings. A split may result in more than two strings. The resulting strings must maintain the same order as they were initially given. Example 1: Input: words = ["one.two.three","four.five","six"], separator = "." Output: ["one","two","three","four","five","six"] Explanation: In this example we split as follows: "one.two.three" splits into "one", "two", "three" "four.five" splits into "four", "five" "six" splits into "six" Hence, the resulting array is ["one","two","three","four","five","six"]. Example 2: Input: words = ["$easy$","$problem$"], separator = "$" Output: ["easy","problem"] Explanation: In this example we split as follows: "$easy$" splits into "easy" (excluding empty strings) "$problem$" splits into "problem" (excluding empty strings) Hence, the resulting array is ["easy","problem"]. Example 3: Input: words = ["|||"], separator = "|" Output: [] Explanation: In this example the resulting split of "|||" will contain only empty strings, so we return an empty array []. Constraints: 1 <= words.length <= 100 1 <= words[i].length <= 20 characters in words[i] are either lowercase English letters or characters from the string ".,|$#@" (excluding the quotes) separator is a character from the string ".,|$#@" (excluding the quotes)
class Solution:
def splitWordsBySeparator(self, words: List[str], separator: str) -> List[str]:
return [word.split(separator) for word in words]['one', 'two', 'three', 'four', 'five', 'six']
[['one', 'two', 'three'], ['four', 'five'], ['six']]
Wrong Answer
Given an array of strings words and a character separator, split each string in words by separator. Return an array of strings containing the new strings formed after the splits, excluding empty strings. Notes separator is used to determine where the split should occur, but it is not included as part of the resulting strings. A split may result in more than two strings. The resulting strings must maintain the same order as they were initially given. Example 1: Input: words = ["one.two.three","four.five","six"], separator = "." Output: ["one","two","three","four","five","six"] Explanation: In this example we split as follows: "one.two.three" splits into "one", "two", "three" "four.five" splits into "four", "five" "six" splits into "six" Hence, the resulting array is ["one","two","three","four","five","six"]. Example 2: Input: words = ["$easy$","$problem$"], separator = "$" Output: ["easy","problem"] Explanation: In this example we split as follows: "$easy$" splits into "easy" (excluding empty strings) "$problem$" splits into "problem" (excluding empty strings) Hence, the resulting array is ["easy","problem"]. Example 3: Input: words = ["|||"], separator = "|" Output: [] Explanation: In this example the resulting split of "|||" will contain only empty strings, so we return an empty array []. Constraints: 1 <= words.length <= 100 1 <= words[i].length <= 20 characters in words[i] are either lowercase English letters or characters from the string ".,|$#@" (excluding the quotes) separator is a character from the string ".,|$#@" (excluding the quotes)
class Solution:
def splitWordsBySeparator(self, words: List[str], separator: str) -> List[str]:
return [word.split(separator) for word in words]['one', 'two', 'three', 'four', 'five', 'six']
[['one', 'two', 'three'], ['four', 'five'], ['six']]
Wrong Answer
Given a 0-indexed array of strings words where words[i] is either a positive integer represented as a string or the string "prev". Start iterating from the beginning of the array; for every "prev" string seen in words, find the last visited integer in words which is defined as follows: Let k be the number of consecutive "prev" strings seen so far (containing the current string). Let nums be the 0-indexed array of integers seen so far and nums_reverse be the reverse of nums, then the integer at (k - 1)^th index of nums_reverse will be the last visited integer for this "prev". If k is greater than the total visited integers, then the last visited integer will be -1. Return an integer array containing the last visited integers. Example 1: Input: words = ["1","2","prev","prev","prev"] Output: [2,1,-1] Explanation: For "prev" at index = 2, last visited integer will be 2 as here the number of consecutive "prev" strings is 1, and in the array reverse_nums, 2 will be the first element. For "prev" at index = 3, last visited integer will be 1 as there are a total of two consecutive "prev" strings including this "prev" which are visited, and 1 is the second last visited integer. For "prev" at index = 4, last visited integer will be -1 as there are a total of three consecutive "prev" strings including this "prev" which are visited, but the total number of integers visited is two. Example 2: Input: words = ["1","prev","2","prev","prev"] Output: [1,2,1] Explanation: For "prev" at index = 1, last visited integer will be 1. For "prev" at index = 3, last visited integer will be 2. For "prev" at index = 4, last visited integer will be 1 as there are a total of two consecutive "prev" strings including this "prev" which are visited, and 1 is the second last visited integer. Constraints: 1 <= words.length <= 100 words[i] == "prev" or 1 <= int(words[i]) <= 100
class Solution:
def lastVisitedIntegers(self, words: List[str]) -> List[int]:
nums = []
prev_count = 0
result = []
for word in words:
if word == "prev":
prev_count += 1
if len(nums) >= prev_count:
result.append(nums[-prev_count])
else:
result.append(-1)
else:
nums.append(int(word))
result.append(int(word))
return result[2, 1, -1]
[1, 2, 2, 1, -1]
Wrong Answer
You are given a 0-indexed integer array nums of length n. We want to group the indices so for each index i in the range [0, n - 1], it is assigned to exactly one group. A group assignment is valid if the following conditions hold: For every group g, all indices i assigned to group g have the same value in nums. For any two groups g_1 and g_2, the difference between the number of indices assigned to g_1 and g_2 should not exceed 1. Return an integer denoting the minimum number of groups needed to create a valid group assignment. Example 1: Input: nums = [3,2,3,2,3] Output: 2 Explanation: One way the indices can be assigned to 2 groups is as follows, where the values in square brackets are indices: group 1 -> [0,2,4] group 2 -> [1,3] All indices are assigned to one group. In group 1, nums[0] == nums[2] == nums[4], so all indices have the same value. In group 2, nums[1] == nums[3], so all indices have the same value. The number of indices assigned to group 1 is 3, and the number of indices assigned to group 2 is 2. Their difference doesn't exceed 1. It is not possible to use fewer than 2 groups because, in order to use just 1 group, all indices assigned to that group must have the same value. Hence, the answer is 2. Example 2: Input: nums = [10,10,10,3,1,1] Output: 4 Explanation: One way the indices can be assigned to 4 groups is as follows, where the values in square brackets are indices: group 1 -> [0] group 2 -> [1,2] group 3 -> [3] group 4 -> [4,5] The group assignment above satisfies both conditions. It can be shown that it is not possible to create a valid assignment using fewer than 4 groups. Hence, the answer is 4. Constraints: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^9
class Solution:
def minGroupsForValidAssignment(self, nums: List[int]) -> int:
from collections import Counter
count = Counter(nums)
n = len(nums)
for k in range(n // 2, 0, -1):
if all(v % k == 0 or v % k == 1 for v in count.values()):
return (v // k + (v % k != 0) for v in count.values())2
<generator object Solution.minGroupsForValidAssignment.<locals>.<genexpr> at 0x150b60f55a80>
Wrong Answer
You are given an array nums consisting of positive integers. Return the total frequencies of elements in nums such that those elements all have the maximum frequency. The frequency of an element is the number of occurrences of that element in the array. Example 1: Input: nums = [1,2,2,3,1,4] Output: 4 Explanation: The elements 1 and 2 have a frequency of 2 which is the maximum frequency in the array. So the number of elements in the array with maximum frequency is 4. Example 2: Input: nums = [1,2,3,4,5] Output: 5 Explanation: All elements of the array have a frequency of 1 which is the maximum. So the number of elements in the array with maximum frequency is 5. Constraints: 1 <= nums.length <= 100 1 <= nums[i] <= 100
class Solution:
def maxFrequencyElements(self, a: List[int]) -> int:
c = Counter(a)
return max(c.values())4
2
Wrong Answer
You are given a 0-indexed string s, a string a, a string b, and an integer k. An index i is beautiful if: 0 <= i <= s.length - a.length s[i..(i + a.length - 1)] == a There exists an index j such that: 0 <= j <= s.length - b.length s[j..(j + b.length - 1)] == b |j - i| <= k Return the array that contains beautiful indices in sorted order from smallest to largest. Example 1: Input: s = "isawsquirrelnearmysquirrelhouseohmy", a = "my", b = "squirrel", k = 15 Output: [16,33] Explanation: There are 2 beautiful indices: [16,33]. - The index 16 is beautiful as s[16..17] == "my" and there exists an index 4 with s[4..11] == "squirrel" and |16 - 4| <= 15. - The index 33 is beautiful as s[33..34] == "my" and there exists an index 18 with s[18..25] == "squirrel" and |33 - 18| <= 15. Thus we return [16,33] as the result. Example 2: Input: s = "abcd", a = "a", b = "a", k = 4 Output: [0] Explanation: There is 1 beautiful index: [0]. - The index 0 is beautiful as s[0..0] == "a" and there exists an index 0 with s[0..0] == "a" and |0 - 0| <= 4. Thus we return [0] as the result. Constraints: 1 <= k <= s.length <= 10^5 1 <= a.length, b.length <= 10 s, a, and b contain only lowercase English letters.
class Solution:
def beautifulIndices(self, s: str, a: str, b: str, k: int) -> List[int]:
result = []
for i in range(len(s) - len(a) + 1):
if s[i:i+len(a)] == a:
for j in range(len(s) - len(b) + 1):
if s[j:j+len(b)] == b and abs(j-i) <= k:
result.append(i)
return sorted(result)[16, 33]
[16, 16, 33]
Wrong Answer
Slavic is preparing a present for a friend's birthday. He has an array $a$ of $n$ digits and the present will be the product of all these digits. Because Slavic is a good kid who wants to make the biggest product possible, he wants to add $1$ to exactly one of his digits. What is the maximum product Slavic can make? Input The first line contains a single integer $t$ ($1 \leq t \leq 10^4$) — the number of test cases. The first line of each test case contains a single integer $n$ ($1 \leq n \leq 9$) — the number of digits. The second line of each test case contains $n$ space-separated integers $a_i$ ($0 \leq a_i \leq 9$) — the digits in the array. Output For each test case, output a single integer — the maximum product Slavic can make, by adding $1$ to exactly one of his digits.Sample Input 1: 4 4 2 2 1 2 3 0 1 2 5 4 3 2 3 4 9 9 9 9 9 9 9 9 9 9 Sample Output 1: 16 2 432 430467210
import sys
def max_product_after_adding_one(n, digits):
# Convert the list of digits to a string to easily manipulate
digits_str = ''.join(map(str, digits))
# Initialize the maximum product
max_product = 0
# Iterate over each digit
for i in range(n):
# Create a new string with the digit at position i incremented by 1
new_digits_str = digits_str[:i] + str(int(digits_str[i]) + 1) + digits_str[i+1:]
# Convert the new string back to a list of integers
new_digits = list(map(int, new_digits_str))
# Calculate the product of the new digits
product = 1
for digit in new_digits:
product *= digit
# Update the maximum product if the current product is greater
max_product = max(max_product, product)
return max_product
# Read the number of test cases
t = int(sys.stdin.readline())
# Process each test case
for _ in range(t):
# Read the number of digits
n = int(sys.stdin.readline())
# Read the digits
digits = list(map(int, sys.stdin.readline().split()))
# Calculate the maximum product after adding one
result = max_product_after_adding_one(n, digits)
# Write the result to stdout
print(result)16 2 432 430467210
16 2 432 0
Wrong answer at output_line_idx=3: 0 != 430467210
Yarik is a big fan of many kinds of music. But Yarik loves not only listening to music but also writing it. He likes electronic music most of all, so he has created his own system of music notes, which, in his opinion, is best for it.
Since Yarik also likes informatics, in his system notes are denoted by integers of $2^k$, where $k \ge 1$ — a positive integer. But, as you know, you can't use just notes to write music, so Yarik uses combinations of two notes. The combination of two notes $(a, b)$, where $a = 2^k$ and $b = 2^l$, he denotes by the integer $a^b$.
For example, if $a = 8 = 2^3$, $b = 4 = 2^2$, then the combination $(a, b)$ is denoted by the integer $a^b = 8^4 = 4096$. Note that different combinations can have the same notation, e.g., the combination $(64, 2)$ is also denoted by the integer $4096 = 64^2$.
Yarik has already chosen $n$ notes that he wants to use in his new melody. However, since their integers can be very large, he has written them down as an array $a$ of length $n$, then the note $i$ is $b_i = 2^{a_i}$. The integers in array $a$ can be repeated.
The melody will consist of several combinations of two notes. Yarik was wondering how many pairs of notes $b_i, b_j$ $(i < j)$ exist such that the combination $(b_i, b_j)$ is equal to the combination $(b_j, b_i)$. In other words, he wants to count the number of pairs $(i, j)$ $(i < j)$ such that $b_i^{b_j} = b_j^{b_i}$. Help him find the number of such pairs.
Input
The first line of the input contains one integer $t$ ($1 \le t \le 10^4$) — the number of test cases.
The first line of each test case contains one integer $n$ ($1 \leq n \leq 2 \cdot 10^5$) — the length of the arrays.
The next line contains $n$ integers $a_1, a_2, \dots, a_n$ ($1 \leq a_i \leq 10^9$) — array $a$.
It is guaranteed that the sum of $n$ over all test cases does not exceed $2 \cdot 10^5$.
Output
For each test case, output the number of pairs that satisfy the given condition.Sample Input 1:
5
1
2
4
3 1 3 2
2
1000 1000
3
1 1 1
19
2 4 1 6 2 8 5 4 2 10 5 10 8 7 4 3 2 6 10
Sample Output 1:
0
2
1
3
19
def solve():
n = int(input())
a = list(map(int, input().split()))
a = [2**x for x in a]
ans = 0
for i in range(n):
for j in range(i+1, n):
if a[i] == a[j]:
ans += 1
print(ans)
t = int(input())
for _ in range(t):
solve()0 2 1 3 19
0 1 1 3 15
Wrong answer at output_line_idx=1: 1 != 2
You are given a 0-indexed integer array nums representing the score of students in an exam. The teacher would like to form one non-empty group of students with maximal strength, where the strength of a group of students of indices i_0, i_1, i_2, ... , i_k is defined as nums[i_0] * nums[i_1] * nums[i_2] * ... * nums[i_k]. Return the maximum strength of a group the teacher can create. Example 1: Input: nums = [3,-1,-5,2,5,-9] Output: 1350 Explanation: One way to form a group of maximal strength is to group the students at indices [0,2,3,4,5]. Their strength is 3 * (-5) * 2 * 5 * (-9) = 1350, which we can show is optimal. Example 2: Input: nums = [-4,-5,-4] Output: 20 Explanation: Group the students at indices [0, 1] . Then, we’ll have a resulting strength of 20. We cannot achieve greater strength. Constraints: 1 <= nums.length <= 13 -9 <= nums[i] <= 9
class Solution:
def maxStrength(self, a: List[int]) -> int:
ans = 1
n = len(a)
neg = []
for x in a:
if x > 0:
ans *= x
elif x < 0:
neg.append(x)
if len(neg) % 2 == 1:
neg.sort()
neg.pop()
for x in neg:
ans *= x
return ans if ans != 0 else max(a)0
1
Wrong Answer
You are given a 0-indexed integer array nums representing the score of students in an exam. The teacher would like to form one non-empty group of students with maximal strength, where the strength of a group of students of indices i_0, i_1, i_2, ... , i_k is defined as nums[i_0] * nums[i_1] * nums[i_2] * ... * nums[i_k]. Return the maximum strength of a group the teacher can create. Example 1: Input: nums = [3,-1,-5,2,5,-9] Output: 1350 Explanation: One way to form a group of maximal strength is to group the students at indices [0,2,3,4,5]. Their strength is 3 * (-5) * 2 * 5 * (-9) = 1350, which we can show is optimal. Example 2: Input: nums = [-4,-5,-4] Output: 20 Explanation: Group the students at indices [0, 1] . Then, we’ll have a resulting strength of 20. We cannot achieve greater strength. Constraints: 1 <= nums.length <= 13 -9 <= nums[i] <= 9
class Solution:
def maxStrength(self, nums: List[int]) -> int:
import itertools
max_strength = 0
for r in range(1, len(nums) + 1):
for group in itertools.combinations(enumerate(nums), r):
strength = 1
for i, num in group:
strength *= num
max_strength = max(max_strength, strength)
return max_strength-5
0
Wrong Answer
You are given a 0-indexed integer array nums representing the strength of some heroes. The power of a group of heroes is defined as follows: Let i_0, i_1, ... ,i_k be the indices of the heroes in a group. Then, the power of this group is max(nums[i_0], nums[i_1], ... ,nums[i_k])^2 * min(nums[i_0], nums[i_1], ... ,nums[i_k]). Return the sum of the power of all non-empty groups of heroes possible. Since the sum could be very large, return it modulo 10^9 + 7. Example 1: Input: nums = [2,1,4] Output: 141 Explanation: 1^st group: [2] has power = 2^2 * 2 = 8. 2^nd group: [1] has power = 1^2 * 1 = 1. 3^rd group: [4] has power = 4^2 * 4 = 64. 4^th group: [2,1] has power = 2^2 * 1 = 4. 5^th group: [2,4] has power = 4^2 * 2 = 32. 6^th group: [1,4] has power = 4^2 * 1 = 16. 7^th group: [2,1,4] has power = 4^2 * 1 = 16. The sum of powers of all groups is 8 + 1 + 64 + 4 + 32 + 16 + 16 = 141. Example 2: Input: nums = [1,1,1] Output: 7 Explanation: A total of 7 groups are possible, and the power of each group will be 1. Therefore, the sum of the powers of all groups is 7. Constraints: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^9
class Solution:
def sumOfPower(self, nums: List[int]) -> int:
MOD = 10**9 + 7
n = len(nums)
nums.sort()
total_sum = 0
for i in range(n):
max_val = nums[i]
min_val = nums[i]
for j in range(i+1, n):
max_val = max(max_val, nums[j])
min_val = min(min_val, nums[j])
total_sum += (max_val ** 2) * min_val
total_sum %= MOD
return total_sum141
52
Wrong Answer
You are given a 0-indexed integer array nums representing the initial positions of some marbles. You are also given two 0-indexed integer arrays moveFrom and moveTo of equal length. Throughout moveFrom.length steps, you will change the positions of the marbles. On the i^th step, you will move all marbles at position moveFrom[i] to position moveTo[i]. After completing all the steps, return the sorted list of occupied positions. Notes: We call a position occupied if there is at least one marble in that position. There may be multiple marbles in a single position. Example 1: Input: nums = [1,6,7,8], moveFrom = [1,7,2], moveTo = [2,9,5] Output: [5,6,8,9] Explanation: Initially, the marbles are at positions 1,6,7,8. At the i = 0th step, we move the marbles at position 1 to position 2. Then, positions 2,6,7,8 are occupied. At the i = 1st step, we move the marbles at position 7 to position 9. Then, positions 2,6,8,9 are occupied. At the i = 2nd step, we move the marbles at position 2 to position 5. Then, positions 5,6,8,9 are occupied. At the end, the final positions containing at least one marbles are [5,6,8,9]. Example 2: Input: nums = [1,1,3,3], moveFrom = [1,3], moveTo = [2,2] Output: [2] Explanation: Initially, the marbles are at positions [1,1,3,3]. At the i = 0th step, we move all the marbles at position 1 to position 2. Then, the marbles are at positions [2,2,3,3]. At the i = 1st step, we move all the marbles at position 3 to position 2. Then, the marbles are at positions [2,2,2,2]. Since 2 is the only occupied position, we return [2]. Constraints: 1 <= nums.length <= 10^5 1 <= moveFrom.length <= 10^5 moveFrom.length == moveTo.length 1 <= nums[i], moveFrom[i], moveTo[i] <= 10^9 The test cases are generated such that there is at least a marble in moveFrom[i] at the moment we want to apply the i^th move.
class Solution:
def relocateMarbles(self, nums: List[int], moveFrom: List[int], moveTo: List[int]) -> List[int]:
d = {}
for i in range(len(nums)):
d[nums[i]] = 1
for i in range(len(moveFrom)):
if moveFrom[i] in d:
d[moveTo[i]] = 1
del d[moveFrom[i]]
return sorted(d.keys())[8]
[]
Wrong Answer
You are given a 0-indexed integer array nums of length n and an integer k. In an operation, you can choose an element and multiply it by 2. Return the maximum possible value of nums[0] | nums[1] | ... | nums[n - 1] that can be obtained after applying the operation on nums at most k times. Note that a | b denotes the bitwise or between two integers a and b. Example 1: Input: nums = [12,9], k = 1 Output: 30 Explanation: If we apply the operation to index 1, our new array nums will be equal to [12,18]. Thus, we return the bitwise or of 12 and 18, which is 30. Example 2: Input: nums = [8,1,2], k = 2 Output: 35 Explanation: If we apply the operation twice on index 0, we yield a new array of [32,1,2]. Thus, we return 32|1|2 = 35. Constraints: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^9 1 <= k <= 15
class Solution:
def maximumOr(self, nums: List[int], k: int) -> int:
n = len(nums)
res = 0
for i in range(n):
res |= nums[i]
for _ in range(k):
max_idx = 0
max_val = 0
for i in range(n):
if nums[i] > max_val:
max_val = nums[i]
max_idx = i
res |= max_val
nums[max_idx] *= 2
return res30
13
Wrong Answer
You are given a 0-indexed array usageLimits of length n. Your task is to create groups using numbers from 0 to n - 1, ensuring that each number, i, is used no more than usageLimits[i] times in total across all groups. You must also satisfy the following conditions: Each group must consist of distinct numbers, meaning that no duplicate numbers are allowed within a single group. Each group (except the first one) must have a length strictly greater than the previous group. Return an integer denoting the maximum number of groups you can create while satisfying these conditions. Example 1: Input: usageLimits = [1,2,5] Output: 3 Explanation: In this example, we can use 0 at most once, 1 at most twice, and 2 at most five times. One way of creating the maximum number of groups while satisfying the conditions is: Group 1 contains the number [2]. Group 2 contains the numbers [1,2]. Group 3 contains the numbers [0,1,2]. It can be shown that the maximum number of groups is 3. So, the output is 3. Example 2: Input: usageLimits = [2,1,2] Output: 2 Explanation: In this example, we can use 0 at most twice, 1 at most once, and 2 at most twice. One way of creating the maximum number of groups while satisfying the conditions is: Group 1 contains the number [0]. Group 2 contains the numbers [1,2]. It can be shown that the maximum number of groups is 2. So, the output is 2. Example 3: Input: usageLimits = [1,1] Output: 1 Explanation: In this example, we can use both 0 and 1 at most once. One way of creating the maximum number of groups while satisfying the conditions is: Group 1 contains the number [0]. It can be shown that the maximum number of groups is 1. So, the output is 1. Constraints: 1 <= usageLimits.length <= 10^5 1 <= usageLimits[i] <= 10^9
class Solution:
def maxIncreasingGroups(self, usageLimits: List[int]) -> int:
usageLimits.sort(reverse=True)
groups = 1
current = 0
for limit in usageLimits:
if current + 1 > limit:
groups += 1
current = 0
current += 1
return groups3
2
Wrong Answer
You are given an integer n representing the number of houses on a number line, numbered from 0 to n - 1. Additionally, you are given a 2D integer array offers where offers[i] = [start_i, end_i, gold_i], indicating that i^th buyer wants to buy all the houses from start_i to end_i for gold_i amount of gold. As a salesman, your goal is to maximize your earnings by strategically selecting and selling houses to buyers. Return the maximum amount of gold you can earn. Note that different buyers can't buy the same house, and some houses may remain unsold. Example 1: Input: n = 5, offers = [[0,0,1],[0,2,2],[1,3,2]] Output: 3 Explanation: There are 5 houses numbered from 0 to 4 and there are 3 purchase offers. We sell houses in the range [0,0] to 1^st buyer for 1 gold and houses in the range [1,3] to 3^rd buyer for 2 golds. It can be proven that 3 is the maximum amount of gold we can achieve. Example 2: Input: n = 5, offers = [[0,0,1],[0,2,10],[1,3,2]] Output: 10 Explanation: There are 5 houses numbered from 0 to 4 and there are 3 purchase offers. We sell houses in the range [0,2] to 2^nd buyer for 10 golds. It can be proven that 10 is the maximum amount of gold we can achieve. Constraints: 1 <= n <= 10^5 1 <= offers.length <= 10^5 offers[i].length == 3 0 <= start_i <= end_i <= n - 1 1 <= gold_i <= 10^3
class Solution:
def maximizeTheProfit(self, n: int, offers: List[List[int]]) -> int:
offers.sort(key=lambda x: x[2], reverse=True)
ans = 0
for start, end, gold in offers:
if start >= n:
continue
if end >= n:
end = n - 1
ans += gold
n = end
return ans3
5
Wrong Answer
You have n processors each having 4 cores and n * 4 tasks that need to be executed such that each core should perform only one task. Given a 0-indexed integer array processorTime representing the time at which each processor becomes available for the first time and a 0-indexed integer array tasks representing the time it takes to execute each task, return the minimum time when all of the tasks have been executed by the processors. Note: Each core executes the task independently of the others. Example 1: Input: processorTime = [8,10], tasks = [2,2,3,1,8,7,4,5] Output: 16 Explanation: It's optimal to assign the tasks at indexes 4, 5, 6, 7 to the first processor which becomes available at time = 8, and the tasks at indexes 0, 1, 2, 3 to the second processor which becomes available at time = 10. Time taken by the first processor to finish execution of all tasks = max(8 + 8, 8 + 7, 8 + 4, 8 + 5) = 16. Time taken by the second processor to finish execution of all tasks = max(10 + 2, 10 + 2, 10 + 3, 10 + 1) = 13. Hence, it can be shown that the minimum time taken to execute all the tasks is 16. Example 2: Input: processorTime = [10,20], tasks = [2,3,1,2,5,8,4,3] Output: 23 Explanation: It's optimal to assign the tasks at indexes 1, 4, 5, 6 to the first processor which becomes available at time = 10, and the tasks at indexes 0, 2, 3, 7 to the second processor which becomes available at time = 20. Time taken by the first processor to finish execution of all tasks = max(10 + 3, 10 + 5, 10 + 8, 10 + 4) = 18. Time taken by the second processor to finish execution of all tasks = max(20 + 2, 20 + 1, 20 + 2, 20 + 3) = 23. Hence, it can be shown that the minimum time taken to execute all the tasks is 23. Constraints: 1 <= n == processorTime.length <= 25000 1 <= tasks.length <= 10^5 0 <= processorTime[i] <= 10^9 1 <= tasks[i] <= 10^9 tasks.length == 4 * n
class Solution:
def minProcessingTime(self, processorTime: List[int], tasks: List[int]) -> int:
tasks.sort()
processorTime.sort()
ans = 0
for i in range(len(processorTime)):
ans = max(ans, processorTime[i] + tasks[4 * i + 3])
return ans16
18
Wrong Answer
You have n processors each having 4 cores and n * 4 tasks that need to be executed such that each core should perform only one task. Given a 0-indexed integer array processorTime representing the time at which each processor becomes available for the first time and a 0-indexed integer array tasks representing the time it takes to execute each task, return the minimum time when all of the tasks have been executed by the processors. Note: Each core executes the task independently of the others. Example 1: Input: processorTime = [8,10], tasks = [2,2,3,1,8,7,4,5] Output: 16 Explanation: It's optimal to assign the tasks at indexes 4, 5, 6, 7 to the first processor which becomes available at time = 8, and the tasks at indexes 0, 1, 2, 3 to the second processor which becomes available at time = 10. Time taken by the first processor to finish execution of all tasks = max(8 + 8, 8 + 7, 8 + 4, 8 + 5) = 16. Time taken by the second processor to finish execution of all tasks = max(10 + 2, 10 + 2, 10 + 3, 10 + 1) = 13. Hence, it can be shown that the minimum time taken to execute all the tasks is 16. Example 2: Input: processorTime = [10,20], tasks = [2,3,1,2,5,8,4,3] Output: 23 Explanation: It's optimal to assign the tasks at indexes 1, 4, 5, 6 to the first processor which becomes available at time = 10, and the tasks at indexes 0, 2, 3, 7 to the second processor which becomes available at time = 20. Time taken by the first processor to finish execution of all tasks = max(10 + 3, 10 + 5, 10 + 8, 10 + 4) = 18. Time taken by the second processor to finish execution of all tasks = max(20 + 2, 20 + 1, 20 + 2, 20 + 3) = 23. Hence, it can be shown that the minimum time taken to execute all the tasks is 23. Constraints: 1 <= n == processorTime.length <= 25000 1 <= tasks.length <= 10^5 0 <= processorTime[i] <= 10^9 1 <= tasks[i] <= 10^9 tasks.length == 4 * n
class Solution:
def minProcessingTime(self, processorTime: List[int], tasks: List[int]) -> int:
n = len(processorTime)
tasks_with_indexes = sorted((tasks[i], i % n) for i in range(4 * n))
processorTime.sort()
return max(processorTime[i % n] + tasks_with_indexes[i][0] for i in range(4 * n))16
18
Wrong Answer
You have n processors each having 4 cores and n * 4 tasks that need to be executed such that each core should perform only one task. Given a 0-indexed integer array processorTime representing the time at which each processor becomes available for the first time and a 0-indexed integer array tasks representing the time it takes to execute each task, return the minimum time when all of the tasks have been executed by the processors. Note: Each core executes the task independently of the others. Example 1: Input: processorTime = [8,10], tasks = [2,2,3,1,8,7,4,5] Output: 16 Explanation: It's optimal to assign the tasks at indexes 4, 5, 6, 7 to the first processor which becomes available at time = 8, and the tasks at indexes 0, 1, 2, 3 to the second processor which becomes available at time = 10. Time taken by the first processor to finish execution of all tasks = max(8 + 8, 8 + 7, 8 + 4, 8 + 5) = 16. Time taken by the second processor to finish execution of all tasks = max(10 + 2, 10 + 2, 10 + 3, 10 + 1) = 13. Hence, it can be shown that the minimum time taken to execute all the tasks is 16. Example 2: Input: processorTime = [10,20], tasks = [2,3,1,2,5,8,4,3] Output: 23 Explanation: It's optimal to assign the tasks at indexes 1, 4, 5, 6 to the first processor which becomes available at time = 10, and the tasks at indexes 0, 2, 3, 7 to the second processor which becomes available at time = 20. Time taken by the first processor to finish execution of all tasks = max(10 + 3, 10 + 5, 10 + 8, 10 + 4) = 18. Time taken by the second processor to finish execution of all tasks = max(20 + 2, 20 + 1, 20 + 2, 20 + 3) = 23. Hence, it can be shown that the minimum time taken to execute all the tasks is 23. Constraints: 1 <= n == processorTime.length <= 25000 1 <= tasks.length <= 10^5 0 <= processorTime[i] <= 10^9 1 <= tasks[i] <= 10^9 tasks.length == 4 * n
class Solution:
def minProcessingTime(self, processorTime: List[int], tasks: List[int]) -> int:
n = len(processorTime)
tasks.sort()
ans = 0
for i in range(n):
for j in range(4 * i, 4 * (i + 1)):
ans = max(ans, processorTime[i] + tasks[j])
return ans16
18
Wrong Answer
You are given a 0-indexed integer array nums, and you are allowed to traverse between its indices. You can traverse between index i and index j, i != j, if and only if gcd(nums[i], nums[j]) > 1, where gcd is the greatest common divisor. Your task is to determine if for every pair of indices i and j in nums, where i < j, there exists a sequence of traversals that can take us from i to j. Return true if it is possible to traverse between all such pairs of indices, or false otherwise. Example 1: Input: nums = [2,3,6] Output: true Explanation: In this example, there are 3 possible pairs of indices: (0, 1), (0, 2), and (1, 2). To go from index 0 to index 1, we can use the sequence of traversals 0 -> 2 -> 1, where we move from index 0 to index 2 because gcd(nums[0], nums[2]) = gcd(2, 6) = 2 > 1, and then move from index 2 to index 1 because gcd(nums[2], nums[1]) = gcd(6, 3) = 3 > 1. To go from index 0 to index 2, we can just go directly because gcd(nums[0], nums[2]) = gcd(2, 6) = 2 > 1. Likewise, to go from index 1 to index 2, we can just go directly because gcd(nums[1], nums[2]) = gcd(3, 6) = 3 > 1. Example 2: Input: nums = [3,9,5] Output: false Explanation: No sequence of traversals can take us from index 0 to index 2 in this example. So, we return false. Example 3: Input: nums = [4,3,12,8] Output: true Explanation: There are 6 possible pairs of indices to traverse between: (0, 1), (0, 2), (0, 3), (1, 2), (1, 3), and (2, 3). A valid sequence of traversals exists for each pair, so we return true. Constraints: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^5
class Solution:
def canTraverseAllPairs(self, nums: List[int]) -> bool:
graph = {}
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if self.gcd(nums[i], nums[j]) > 1:
if i not in graph:
graph[i] = []
if j not in graph:
graph[j] = []
graph[i].append(j)
graph[j].append(i)
visited = set()
for i in range(len(nums)):
if i not in visited:
if not self.dfs(graph, i, visited):
return False
return True
def gcd(self, a, b):
while b:
a, b = b, a % b
return a
def dfs(self, graph, node, visited):
visited.add(node)
for neighbor in graph.get(node, []):
if neighbor not in visited:
if not self.dfs(graph, neighbor, visited):
return False
return TrueFalse
True
Wrong Answer
Given a 0-indexed 2D integer matrix grid of size n * m, we define a 0-indexed 2D matrix p of size n * m as the product matrix of grid if the following condition is met: Each element p[i][j] is calculated as the product of all elements in grid except for the element grid[i][j]. This product is then taken modulo 12345. Return the product matrix of grid. Example 1: Input: grid = [[1,2],[3,4]] Output: [[24,12],[8,6]] Explanation: p[0][0] = grid[0][1] * grid[1][0] * grid[1][1] = 2 * 3 * 4 = 24 p[0][1] = grid[0][0] * grid[1][0] * grid[1][1] = 1 * 3 * 4 = 12 p[1][0] = grid[0][0] * grid[0][1] * grid[1][1] = 1 * 2 * 4 = 8 p[1][1] = grid[0][0] * grid[0][1] * grid[1][0] = 1 * 2 * 3 = 6 So the answer is [[24,12],[8,6]]. Example 2: Input: grid = [[12345],[2],[1]] Output: [[2],[0],[0]] Explanation: p[0][0] = grid[0][1] * grid[0][2] = 2 * 1 = 2. p[0][1] = grid[0][0] * grid[0][2] = 12345 * 1 = 12345. 12345 % 12345 = 0. So p[0][1] = 0. p[0][2] = grid[0][0] * grid[0][1] = 12345 * 2 = 24690. 24690 % 12345 = 0. So p[0][2] = 0. So the answer is [[2],[0],[0]]. Constraints: 1 <= n == grid.length <= 10^5 1 <= m == grid[i].length <= 10^5 2 <= n * m <= 10^5 1 <= grid[i][j] <= 10^9
class Solution:
def constructProductMatrix(self, grid: List[List[int]]) -> List[List[int]]:
n, m = len(grid), len(grid[0])
ans = [[0] * m for _ in range(n)]
for i in range(n):
for j in range(m):
ans[i][j] = reduce(lambda x, y: x * y, grid[i][:j] + grid[i][j + 1:])
return ans[[24, 12], [8, 6]]
[[2, 1], [4, 3]]
Wrong Answer
You are given an integer k and an integer x. Consider s is the 1-indexed binary representation of an integer num. The price of a number num is the number of i's such that i % x == 0 and s[i] is a set bit. Return the greatest integer num such that the sum of prices of all numbers from 1 to num is less than or equal to k. Note: In the binary representation of a number set bit is a bit of value 1. The binary representation of a number will be indexed from right to left. For example, if s == 11100, s[4] == 1 and s[2] == 0. Example 1: Input: k = 9, x = 1 Output: 6 Explanation: The numbers 1, 2, 3, 4, 5, and 6 can be written in binary representation as "1", "10", "11", "100", "101", and "110" respectively. Since x is equal to 1, the price of each number is the number of its set bits. The number of set bits in these numbers is 9. So the sum of the prices of the first 6 numbers is 9. So the answer is 6. Example 2: Input: k = 7, x = 2 Output: 9 Explanation: Since x is equal to 2, we should just check even^th bits. The second bit of binary representation of numbers 2 and 3 is a set bit. So the sum of their prices is 2. The second bit of binary representation of numbers 6 and 7 is a set bit. So the sum of their prices is 2. The fourth bit of binary representation of numbers 8 and 9 is a set bit but their second bit is not. So the sum of their prices is 2. Numbers 1, 4, and 5 don't have set bits in their even^th bits in their binary representation. So the sum of their prices is 0. The second and the fourth bit of the binary representation of the number 10 are a set bit. So its price is 2. The sum of the prices of the first 9 numbers is 6. Because the sum of the prices of the first 10 numbers is 8, the answer is 9. Constraints: 1 <= k <= 10^15 1 <= x <= 8
class Solution:
def findMaximumNumber(self, k: int, x: int) -> int:
def count_set_bits(num):
count = 0
while num > 0:
count += num & 1
num >>= 1
return count
def price(num):
bin_rep = bin(num)[2:][::-1]
return sum(1 for i, bit in enumerate(bin_rep) if (i + 1) % x == 0 and bit == '1')
left, right = 1, k
while left <= right:
mid = (left + right) // 2
total_price = sum(price(i) for i in range(1, mid + 1))
if total_price <= k:
left = mid + 1
else:
right = mid - 1
return right9
7
Wrong Answer
You are given three integers start, finish, and limit. You are also given a 0-indexed string s representing a positive integer. A positive integer x is called powerful if it ends with s (in other words, s is a suffix of x) and each digit in x is at most limit. Return the total number of powerful integers in the range [start..finish]. A string x is a suffix of a string y if and only if x is a substring of y that starts from some index (including 0) in y and extends to the index y.length - 1. For example, 25 is a suffix of 5125 whereas 512 is not. Example 1: Input: start = 1, finish = 6000, limit = 4, s = "124" Output: 5 Explanation: The powerful integers in the range [1..6000] are 124, 1124, 2124, 3124, and, 4124. All these integers have each digit <= 4, and "124" as a suffix. Note that 5124 is not a powerful integer because the first digit is 5 which is greater than 4. It can be shown that there are only 5 powerful integers in this range. Example 2: Input: start = 15, finish = 215, limit = 6, s = "10" Output: 2 Explanation: The powerful integers in the range [15..215] are 110 and 210. All these integers have each digit <= 6, and "10" as a suffix. It can be shown that there are only 2 powerful integers in this range. Example 3: Input: start = 1000, finish = 2000, limit = 4, s = "3000" Output: 0 Explanation: All integers in the range [1000..2000] are smaller than 3000, hence "3000" cannot be a suffix of any integer in this range. Constraints: 1 <= start <= finish <= 10^15 1 <= limit <= 9 1 <= s.length <= floor(log_10(finish)) + 1 s only consists of numeric digits which are at most limit. s does not have leading zeros.
class Solution:
def numberOfPowerfulInt(self, start: int, finish: int, limit: int, s: str) -> int:
"""
Returns the total number of powerful integers in the range [start..finish].
A positive integer x is called powerful if it ends with s (in other words, s is a suffix of x)
and each digit in x is at most limit.
:param start: The start of the range (inclusive)
:param finish: The end of the range (inclusive)
:param limit: The maximum value of each digit
:param s: The suffix string
:return: The total number of powerful integers
"""
# Convert the string to a list of digits
digits = [int(d) for d in s]
# Initialize a counter for powerful integers
count = 0
# Iterate over the range [start..finish]
for num in range(start, finish + 1):
# Convert the number to a string
num_str = str(num)
# Check if the number is powerful
if all(d <= limit for d in digits) and num_str.endswith(s):
# If the number is powerful, increment the counter
count += 1
# Return the total count of powerful integers
return count5
6
Wrong Answer
You are given 2 positive integers l and r. For any number x, all positive divisors of x except x are called the proper divisors of x. A number is called special if it has exactly 2 proper divisors. For example: The number 4 is special because it has proper divisors 1 and 2. The number 6 is not special because it has proper divisors 1, 2, and 3. Return the count of numbers in the range [l, r] that are not special. Example 1: Input: l = 5, r = 7 Output: 3 Explanation: There are no special numbers in the range [5, 7]. Example 2: Input: l = 4, r = 16 Output: 11 Explanation: The special numbers in the range [4, 16] are 4 and 9. Constraints: 1 <= l <= r <= 10^9
class Solution:
def nonSpecialCount(self, l: int, r: int) -> int:
def count_divisors(n):
count = 0
for i in range(1, int(n**0.5) + 1):
if n % i == 0:
if i * i == n:
count += 1
else:
count += 2
return count
count = 0
for i in range(l, r + 1):
if count_divisors(i) > 2:
count += 1
return count3
1
Wrong Answer
There is a grid with H rows and W columns. Let (i, j) denote the square at the i-th row from the top and j-th column from the left of the grid. Each square of the grid is holed or not. There are exactly N holed squares: (a_1, b_1), (a_2, b_2), \dots, (a_N, b_N). When the triple of positive integers (i, j, n) satisfies the following condition, the square region whose top-left corner is (i, j) and whose bottom-right corner is (i + n - 1, j + n - 1) is called a holeless square. - i + n - 1 \leq H. - j + n - 1 \leq W. - For every pair of non-negative integers (k, l) such that 0 \leq k \leq n - 1, 0 \leq l \leq n - 1, square (i + k, j + l) is not holed. How many holeless squares are in the grid? Input The input is given from Standard Input in the following format: H W N a_1 b_1 a_2 b_2 \vdots a_N b_N Output Print the number of holeless squares. Constraints - 1 \leq H, W \leq 3000 - 0 \leq N \leq \min(H \times W, 10^5) - 1 \leq a_i \leq H - 1 \leq b_i \leq W - All (a_i, b_i) are pairwise different. - All input values are integers. Sample Input 1 2 3 1 2 3 Sample Output 1 6 There are six holeless squares, listed below. For the first five, n = 1, and the top-left and bottom-right corners are the same square. - The square region whose top-left and bottom-right corners are (1, 1). - The square region whose top-left and bottom-right corners are (1, 2). - The square region whose top-left and bottom-right corners are (1, 3). - The square region whose top-left and bottom-right corners are (2, 1). - The square region whose top-left and bottom-right corners are (2, 2). - The square region whose top-left corner is (1, 1) and whose bottom-right corner is (2, 2). Sample Input 2 3 2 6 1 1 1 2 2 1 2 2 3 1 3 2 Sample Output 2 0 There may be no holeless square. Sample Input 3 1 1 0 Sample Output 3 1 The whole grid may be a holeless square. Sample Input 4 3000 3000 0 Sample Output 4 9004500500
# YOUR CODE HERE
import sys
def main():
H, W, N = map(int, input().split())
holes = []
for _ in range(N):
x, y = map(int, input().split())
holes.append((x, y))
count = 0
for i in range(1, H + 1):
for j in range(1, W + 1):
n = 1
while i + n - 1 <= H and j + n - 1 <= W:
flag = True
for k in range(n):
for l in range(n):
if (i + k - 1, j + l - 1) in holes:
flag = False
break
if not flag:
break
if flag:
count += 1
n += 1
print(count)
if __name__ == "__main__":
main()6
8
Wrong answer at output_line_idx=0: 8 != 6
You are given a binary string s and a positive integer k. A substring of s is beautiful if the number of 1's in it is exactly k. Let len be the length of the shortest beautiful substring. Return the lexicographically smallest beautiful substring of string s with length equal to len. If s doesn't contain a beautiful substring, return an empty string. A string a is lexicographically larger than a string b (of the same length) if in the first position where a and b differ, a has a character strictly larger than the corresponding character in b. For example, "abcd" is lexicographically larger than "abcc" because the first position they differ is at the fourth character, and d is greater than c. Example 1: Input: s = "100011001", k = 3 Output: "11001" Explanation: There are 7 beautiful substrings in this example: 1. The substring "100011001". 2. The substring "100011001". 3. The substring "100011001". 4. The substring "100011001". 5. The substring "100011001". 6. The substring "100011001". 7. The substring "100011001". The length of the shortest beautiful substring is 5. The lexicographically smallest beautiful substring with length 5 is the substring "11001". Example 2: Input: s = "1011", k = 2 Output: "11" Explanation: There are 3 beautiful substrings in this example: 1. The substring "1011". 2. The substring "1011". 3. The substring "1011". The length of the shortest beautiful substring is 2. The lexicographically smallest beautiful substring with length 2 is the substring "11". Example 3: Input: s = "000", k = 1 Output: "" Explanation: There are no beautiful substrings in this example. Constraints: 1 <= s.length <= 100 1 <= k <= s.length
class Solution:
def shortestBeautifulSubstring(self, s: str, k: int) -> str:
n = len(s)
for i in range(n):
ones = 0
for j in range(i, n):
if s[j] == '1':
ones += 1
if ones == k:
substr = s[i:j+1]
if len(substr) < n:
return substr
else:
return substr[:n]
return ""11001
100011
Wrong Answer
You are given two arrays of strings wordsContainer and wordsQuery. For each wordsQuery[i], you need to find a string from wordsContainer that has the longest common suffix with wordsQuery[i]. If there are two or more strings in wordsContainer that share the longest common suffix, find the string that is the smallest in length. If there are two or more such strings that have the same smallest length, find the one that occurred earlier in wordsContainer. Return an array of integers ans, where ans[i] is the index of the string in wordsContainer that has the longest common suffix with wordsQuery[i]. Example 1: Input: wordsContainer = ["abcd","bcd","xbcd"], wordsQuery = ["cd","bcd","xyz"] Output: [1,1,1] Explanation: Let's look at each wordsQuery[i] separately: For wordsQuery[0] = "cd", strings from wordsContainer that share the longest common suffix "cd" are at indices 0, 1, and 2. Among these, the answer is the string at index 1 because it has the shortest length of 3. For wordsQuery[1] = "bcd", strings from wordsContainer that share the longest common suffix "bcd" are at indices 0, 1, and 2. Among these, the answer is the string at index 1 because it has the shortest length of 3. For wordsQuery[2] = "xyz", there is no string from wordsContainer that shares a common suffix. Hence the longest common suffix is "", that is shared with strings at index 0, 1, and 2. Among these, the answer is the string at index 1 because it has the shortest length of 3. Example 2: Input: wordsContainer = ["abcdefgh","poiuygh","ghghgh"], wordsQuery = ["gh","acbfgh","acbfegh"] Output: [2,0,2] Explanation: Let's look at each wordsQuery[i] separately: For wordsQuery[0] = "gh", strings from wordsContainer that share the longest common suffix "gh" are at indices 0, 1, and 2. Among these, the answer is the string at index 2 because it has the shortest length of 6. For wordsQuery[1] = "acbfgh", only the string at index 0 shares the longest common suffix "fgh". Hence it is the answer, even though the string at index 2 is shorter. For wordsQuery[2] = "acbfegh", strings from wordsContainer that share the longest common suffix "gh" are at indices 0, 1, and 2. Among these, the answer is the string at index 2 because it has the shortest length of 6. Constraints: 1 <= wordsContainer.length, wordsQuery.length <= 10^4 1 <= wordsContainer[i].length <= 5 * 10^3 1 <= wordsQuery[i].length <= 5 * 10^3 wordsContainer[i] consists only of lowercase English letters. wordsQuery[i] consists only of lowercase English letters. Sum of wordsContainer[i].length is at most 5 * 10^5. Sum of wordsQuery[i].length is at most 5 * 10^5.
class Solution:
def stringIndices(self, wordsContainer: List[str], wordsQuery: List[str]) -> List[int]:
ans = []
for query in wordsQuery:
max_len = 0
max_idx = -1
for i, word in enumerate(wordsContainer):
if len(word) < len(query):
continue
if word.endswith(query):
if len(word) > max_len:
max_len = len(word)
max_idx = i
elif len(word) == max_len:
max_idx = min(max_idx, i)
ans.append(max_idx)
return ans[1, 1, 1]
[0, 0, -1]
Wrong Answer
Takahashi and Aoki played N games. You are given a string S of length N, representing the results of these games. Takahashi won the i-th game if the i-th character of S is T, and Aoki won that game if it is A. The overall winner between Takahashi and Aoki is the one who won more games than the other. If they had the same number of wins, the overall winner is the one who reached that number of wins first. Find the overall winner: Takahashi or Aoki. Input The input is given from Standard Input in the following format: N S Output If the overall winner is Takahashi, print T; if it is Aoki, print A. Constraints - 1\leq N \leq 100 - N is an integer. - S is a string of length N consisting of T and A. Sample Input 1 5 TTAAT Sample Output 1 T Takahashi won three games, and Aoki won two. Thus, the overall winner is Takahashi, who won more games. Sample Input 2 6 ATTATA Sample Output 2 T Both Takahashi and Aoki won three games. Takahashi reached three wins in the fifth game, and Aoki in the sixth game. Thus, the overall winner is Takahashi, who reached three wins first. Sample Input 3 1 A Sample Output 3 A
# -*- coding: utf-8 -*-
def solve():
n = int(input())
s = input()
takahashi_wins = 0
aoki_wins = 0
for i in range(n):
if s[i] == 'T':
takahashi_wins += 1
else:
aoki_wins += 1
if takahashi_wins > aoki_wins:
print('T')
elif takahashi_wins < aoki_wins:
print('A')
else:
if takahashi_wins == aoki_wins:
print('T')
else:
print('A')
if __name__ == '__main__':
solve()A
T
Wrong answer at output_line_idx=0: T != A
Takahashi has decided to give one gift to Aoki and one gift to Snuke.
There are N candidates of gifts for Aoki,
and their values are A_1, A_2, \ldots,A_N.
There are M candidates of gifts for Snuke,
and their values are B_1, B_2, \ldots,B_M.
Takahashi wants to choose gifts so that the difference in values of the two gifts is at most D.
Determine if he can choose such a pair of gifts. If he can, print the maximum sum of values of the chosen gifts.
Input
The input is given from Standard Input in the following format:
N M D
A_1 A_2 \ldots A_N
B_1 B_2 \ldots B_M
Output
If he can choose gifts to satisfy the condition,
print the maximum sum of values of the chosen gifts.
If he cannot satisfy the condition, print -1.
Constraints
- 1\leq N,M\leq 2\times 10^5
- 1\leq A_i,B_i\leq 10^{18}
- 0\leq D \leq 10^{18}
- All values in the input are integers.
Sample Input 1
2 3 2
3 10
2 5 15
Sample Output 1
8
The difference of values of the two gifts should be at most 2.
If he gives a gift with value 3 to Aoki and another with value 5 to Snuke, the condition is satisfied, achieving the maximum possible sum of values.
Thus, 3+5=8 should be printed.
Sample Input 2
3 3 0
1 3 3
6 2 7
Sample Output 2
-1
He cannot choose gifts to satisfy the condition.
Note that the candidates of gifts for a person may contain multiple gifts with the same value.
Sample Input 3
1 1 1000000000000000000
1000000000000000000
1000000000000000000
Sample Output 3
2000000000000000000
Note that the answer may not fit into a 32-bit integer type.
Sample Input 4
8 6 1
2 5 6 5 2 1 7 9
7 2 5 5 2 4
Sample Output 4
14def solve():
n, m, d = map(int, input().split())
a_values = list(map(int, input().split()))
b_values = list(map(int, input().split()))
a_values.sort()
b_values.sort()
if d == 0:
if n == 1 and m == 1:
print(a_values[0] + b_values[0])
else:
print(-1)
return
if n == 1 and m == 1:
print(a_values[0] + b_values[0])
return
if n == 1:
for i in range(m):
if abs(b_values[i] - a_values[0]) <= d:
print(a_values[0] + b_values[i])
return
print(-1)
return
if m == 1:
for i in range(n):
if abs(a_values[i] - b_values[0]) <= d:
print(a_values[i] + b_values[0])
return
print(-1)
return
for i in range(n):
for j in range(m):
if abs(a_values[i] - b_values[j]) <= d:
print(a_values[i] + b_values[j])
return
print(-1)
if __name__ == "__main__":
solve()8
5
Wrong answer at output_line_idx=0: 5 != 8
N people numbered 1 through N tossed a coin several times. We know that person i's tosses resulted in A_i heads and B_i tails.
Person i's success rate of the tosses is defined by \displaystyle\frac{A_i}{A_i+B_i}. Sort people 1,\ldots,N in descending order of their success rates, with ties broken in ascending order of their assigned numbers.
Input
The input is given from Standard Input in the following format:
N
A_1 B_1
\vdots
A_N B_N
Output
Print the numbers of people 1,\ldots,N in descending order of their success rates, with ties broken in ascending order of their assigned numbers.
Constraints
- 2\leq N \leq 2\times 10^5
- 0\leq A_i, B_i\leq 10^9
- A_i+B_i \geq 1
- All input values are integers.
Sample Input 1
3
1 3
3 1
2 2
Sample Output 1
2 3 1
Person 1's success rate is 0.25, person 2's is 0.75, and person 3's is 0.5.
Sort them in descending order of their success rates to obtain the order in Sample Output.
Sample Input 2
2
1 3
2 6
Sample Output 2
1 2
Note that person 1 and 2 should be printed in ascending order of their numbers, as they have the same success rates.
Sample Input 3
4
999999999 1000000000
333333333 999999999
1000000000 999999997
999999998 1000000000
Sample Output 3
3 1 4 2# YOUR CODE HERE
import sys
N = int(input())
people = []
for i in range(N):
A, B = map(int, input().split())
people.append((A, B, i + 1))
people.sort(key=lambda x: (-x[0] / (x[0] + x[1]), x[2]))
for person in people:
print(person[2], end=' ')
print()48618 36081 55427 103804 166739 27510 144677 120056 17853 18435 1918 131511 69471 80279 112188 93070 55068 68785 121207 56879 42885 44371 49897 79102 ...(truncated) ... 145802 135664 50498 18173 95742 192337 68098 4351 194924 109710 146453 158587 2349 97210 190921 27285 112090 189482 132010 92941 177924 141914 68054
1918 11597 17853 18435 27510 36081 39935 42885 44371 48618 49897 55068 55427 56879 68785 69471 79102 80279 92312 93070 100655 103804 112188 120056 121...(truncated) ...4 132010 134807 135664 137623 141914 143965 145802 146453 149774 158587 161039 172832 177924 178434 180944 189482 190921 192337 192719 193712 194924
Wrong answer at output_line_idx=0: 1918 11597 17853 18435 27510 36081 39935 42885 44371 48618 49897 55068 55427 56879 68785 69471 79102 80279 92312 93070 100655 103804 112188 120056 121...(truncated) ...964 132010 134807 135664 137623 141914 143965 145802 146453 149774 158587 161039 172832 177924 17
N people numbered 1 through N tossed a coin several times. We know that person i's tosses resulted in A_i heads and B_i tails.
Person i's success rate of the tosses is defined by \displaystyle\frac{A_i}{A_i+B_i}. Sort people 1,\ldots,N in descending order of their success rates, with ties broken in ascending order of their assigned numbers.
Input
The input is given from Standard Input in the following format:
N
A_1 B_1
\vdots
A_N B_N
Output
Print the numbers of people 1,\ldots,N in descending order of their success rates, with ties broken in ascending order of their assigned numbers.
Constraints
- 2\leq N \leq 2\times 10^5
- 0\leq A_i, B_i\leq 10^9
- A_i+B_i \geq 1
- All input values are integers.
Sample Input 1
3
1 3
3 1
2 2
Sample Output 1
2 3 1
Person 1's success rate is 0.25, person 2's is 0.75, and person 3's is 0.5.
Sort them in descending order of their success rates to obtain the order in Sample Output.
Sample Input 2
2
1 3
2 6
Sample Output 2
1 2
Note that person 1 and 2 should be printed in ascending order of their numbers, as they have the same success rates.
Sample Input 3
4
999999999 1000000000
333333333 999999999
1000000000 999999997
999999998 1000000000
Sample Output 3
3 1 4 2def success_rate(n, test_cases):
success_rates = []
for i in range(n):
success_rates.append((test_cases[i][0] / (test_cases[i][0] + test_cases[i][1]), i + 1))
success_rates.sort(reverse=True)
for i in range(n):
print(success_rates[i][1], end=" ")
def main():
n = int(input())
test_cases = []
for _ in range(n):
a, b = map(int, input().split())
test_cases.append((a, b))
success_rate(n, test_cases)
main()1 2
2 1
Wrong answer at output_line_idx=0: 2 1 != 1 2
Failure-category and exception tables at t=0 and t=0.8, the wrong-answer sub-theme split, and real failing examples (solution · error · expected-vs-got). Click a model, or browse all LiveCodeBench rollouts in the explorer.
| category | count | % of failures |
|---|---|---|
| wrong_answer | 508 | 79.7% |
| timeout | 29 | 4.6% |
| runtime_error | 100 | 15.7% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 142 | 213 | 153 |
| timeout | 3 | 17 | 9 |
| runtime_error | 22 | 42 | 36 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 47 | 47.0% |
| ValueError | 24 | 24.0% |
| TypeError | 15 | 15.0% |
| EOFError | 6 | 6.0% |
| RecursionError | 3 | 3.0% |
| KeyError | 2 | 2.0% |
| ZeroDivisionError | 2 | 2.0% |
| NameError | 1 | 1.0% |
You are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
ans = 0
for i in range(1, n + 1):
for j in range(1, n + 1):
for k in range(1, n + 1):
if i + j + k <= n and i <= limit and j <= limit and k <= limit:
ans += 1
return ansWrong Answer
3
7
You are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
ans = 0
for i in range(low, high + 1):
if i < 10:
continue
if i % 11 == 0:
ans += 1
if i % 10 == 0:
ans += 1
return ansWrong Answer
9
19
Takahashi eats three plates for breakfast: rice, miso soup, and salad. His table is long and narrow, so he arranged the three plates in a row. The arrangement is given by a string S, where the i-th plate from the left is rice if S_i is R, miso soup if S_i is M, and salad if S_i is S. Determine whether the plate of rice is to the left of the plate of miso soup. Input The input is given from Standard Input in the following format: S Output Print Yes if the plate of rice is to the left of the plate of miso soup, and No otherwise. Constraints - |S| = 3 - S contains one R, one M, and one S. Sample Input 1 RSM Sample Output 1 Yes The plate of rice is at the 1st position from the left, and the plate of miso soup is at the 3rd position from the left. Since the plate of rice is to the left, print Yes. Sample Input 2 SMR Sample Output 2 No The plates are arranged as salad, miso soup, and rice from left to right.
def main():
s = input()
if s[0] == 'R':
print('Yes')
else:
print('No')
main()Wrong answer at output_line_idx=0: No != Yes
Yes
No
TimeoutExceptionYou are given an integer B.
If there exists a positive integer A such that A^A = B, print its value; otherwise, output -1.
Input
The input is given from Standard Input in the following format:
B
Output
If there exists a positive integer A such that A^A = B, print its value; otherwise, print -1.
If there are multiple positive integers A such that A^A = B, any of them will be accepted.
Constraints
- 1 \leq B \leq 10^{18}
- B is an integer.
Sample Input 1
27
Sample Output 1
3
3^3 = 27, so print 3.
Sample Input 2
100
Sample Output 2
-1
There is no A such that A^A = B.
Sample Input 3
10000000000
Sample Output 3
10def main():
B = int(input())
for i in range(1, B + 1):
if i ** i == B:
print(i)
return
print(-1)
main()Time Limit Exceeded
-1
TimeoutExceptionThere is an enemy with stamina A. Every time you attack the enemy, its stamina reduces by B.
At least how many times do you need to attack the enemy to make its stamina 0 or less?
Input
The input is given from Standard Input in the following format:
A B
Output
Print the answer.
Constraints
- 1 \le A,B \le 10^{18}
- A and B are integers.
Sample Input 1
7 3
Sample Output 1
3
Attacking three times make the enemy's stamina -2.
Attacking only twice makes the stamina 1, so you need to attack it three times.
Sample Input 2
123456789123456789 987654321
Sample Output 2
124999999
Sample Input 3
999999999999999998 2
Sample Output 3
499999999999999999def main():
A, B = map(int, input().split())
ans = 0
while A > 0:
A -= B
ans += 1
print(ans)
main()Time Limit Exceeded
124999999
TimeoutExceptionYou are given N intervals of real numbers. The i-th (1 \leq i \leq N) interval is [l_i, r_i]. Find the number of pairs (i, j)\,(1 \leq i < j \leq N) such that the i-th and j-th intervals intersect. Input The input is given from Standard Input in the following format: N l_1 r_1 l_2 r_2 \vdots l_N r_N Output Print the answer. Constraints - 2 \leq N \leq 5 \times 10^5 - 0 \leq l_i < r_i \leq 10^9 - All input values are integers. Sample Input 1 3 1 5 7 8 3 7 Sample Output 1 2 The given intervals are [1,5], [7,8], [3,7]. Among these, the 1-st and 3-rd intervals intersect, as well as the 2-nd and 3-rd intervals, so the answer is 2. Sample Input 2 3 3 4 2 5 1 6 Sample Output 2 3 Sample Input 3 2 1 2 3 4 Sample Output 3 0
def main():
n = int(input())
intervals = []
for _ in range(n):
l, r = map(int, input().split())
intervals.append((l, r))
intervals.sort()
ans = 0
for i in range(n):
for j in range(i + 1, n):
if intervals[i][1] >= intervals[j][0]:
ans += 1
print(ans)
main()Time Limit Exceeded
124999750000
IndexErrorYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
nums = []
while n > 0:
nums.append(n % 10)
n //= 10
nums.sort()
return nums[0] * 10 + nums[2] + nums[1] * 10 + nums[3]Runtime Error
18
IndexErrorThere are N giants, named 1 to N. When giant i stands on the ground, their shoulder height is A_i, and their head height is B_i.
You can choose a permutation (P_1, P_2, \ldots, P_N) of (1, 2, \ldots, N) and stack the N giants according to the following rules:
-
First, place giant P_1 on the ground. The giant P_1's shoulder will be at a height of A_{P_1} from the ground, and their head will be at a height of B_{P_1} from the ground.
-
For i = 1, 2, \ldots, N - 1 in order, place giant P_{i + 1} on the shoulders of giant P_i. If giant P_i's shoulders are at a height of t from the ground, then giant P_{i + 1}'s shoulders will be at a height of t + A_{P_{i + 1}} from the ground, and their head will be at a height of t + B_{P_{i + 1}} from the ground.
Find the maximum possible height of the head of the topmost giant P_N from the ground.
Input
The input is given from Standard Input in the following format:
N
A_1 B_1
A_2 B_2
\vdots
A_N B_N
Output
Print the answer.
Constraints
- 2 \leq N \leq 2 \times 10^5
- 1 \leq A_i \leq B_i \leq 10^9
- All input values are integers.
Sample Input 1
3
4 10
5 8
2 9
Sample Output 1
18
If (P_1, P_2, P_3) = (2, 1, 3), then measuring from the ground, giant 2 has a shoulder height of 5 and a head height of 8, giant 1 has a shoulder height of 9 and a head height of 15, and giant 3 has a shoulder height of 11 and a head height of 18.
The head height of the topmost giant from the ground cannot be greater than 18, so print 18.
Sam
…(truncated)def main():
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a.sort()
b.sort()
ans = 0
for i in range(n):
ans += a[i] + b[i]
print(ans)
main()Runtime Error
18
IndexErrorIn the nation of Atcoder, there are N cities numbered 1 to N, and M trains numbered 1 to M. Train i departs from city A_i at time S_i and arrives at city B_i at time T_i. Given a positive integer X_1, find a way to set non-negative integers X_2,\ldots,X_M that satisfies the following condition with the minimum possible value of X_2+\ldots+X_M. - Condition: For all pairs (i,j) satisfying 1 \leq i,j \leq M, if B_i=A_j and T_i \leq S_j, then T_i+X_i \leq S_j+X_j. - In other words, for any pair of trains that are originally possible to transfer between, it is still possible to transfer even after delaying the departure and arrival times of each train i by X_i. It can be proved that such a way to set X_2,\ldots,X_M with the minimum possible value of X_2+\ldots+X_M is unique. Input The input is given from Standard Input in the following format: N M X_1 A_1 B_1 S_1 T_1 \vdots A_M B_M S_M T_M Output Print X_2,\ldots,X_M that satisfy the condition with the minimum possible sum, in that order, separated by spaces. Constraints - 2 \leq N \leq 2\times 10^5 - 2 \leq M \leq 2\times 10^5 - 1 \leq A_i,B_i \leq N - A_i \neq B_i - 0 \leq S_i < T_i \leq 10^9 - 1 \leq X_1 \leq 10^9 - All input values are integers. Sample Input 1 3 6 15 1 2 10 20 1 2 20 30 2 3 25 40 2 3 35 50 3 1 15 30 3 1 45 60 Sample Output 1 0 10 0 0 5 The arrival of train 1 from city 1 to 2 is delayed by 15 and becomes time 35. To allow transfer from train 1 to 3 in city 2, the departure of train 3 …(truncated)
def main():
n, m, x1 = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
s = list(map(int, input().split()))
t = list(map(int, input().split()))
ans = [0] * m
for i in range(m):
if a[i] == b[i] and t[i] <= s[i]:
ans[i] = x1
for i in range(m):
for j in range(m):
if a[i] == b[j] and t[i] <= s[j]:
ans[i] = max(ans[i], ans[j] + x1)
print(*ans)
main()Runtime Error
0 10 0 0 5
| category | count | % of failures |
|---|---|---|
| wrong_answer | 43401 | 64.0% |
| timeout | 1963 | 2.9% |
| runtime_error | 22158 | 32.7% |
| no_code | 241 | 0.4% |
| harness_timeout | 11 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 14708 | 18169 | 10524 |
| timeout | 298 | 1045 | 620 |
| runtime_error | 5343 | 8282 | 8533 |
| no_code | 34 | 94 | 113 |
| harness_timeout | 1 | 5 | 5 |
| exception | count | % of runtime |
|---|---|---|
| ValueError | 9800 | 44.2% |
| IndexError | 4658 | 21.0% |
| TypeError | 3293 | 14.9% |
| EOFError | 1438 | 6.5% |
| NameError | 1260 | 5.7% |
| UnboundLocalError | 442 | 2.0% |
| KeyError | 375 | 1.7% |
| RecursionError | 311 | 1.4% |
| AttributeError | 242 | 1.1% |
| ZeroDivisionError | 186 | 0.8% |
| FileNotFoundError | 55 | 0.2% |
| RuntimeError | 39 | 0.2% |
| OverflowError | 14 | 0.1% |
| StopIteration | 9 | 0.0% |
| AssertionError | 8 | 0.0% |
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
str_n = input()
for _ in range(int(str_n)):
print(str_n)Wrong answer: mismatched output length
333
3 3 3
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def main():
n = int(input())
print(n*n)
main()Wrong answer at output_line_idx=0: 9 != 333
333
9
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def main():
N = int(input())
print(N*N)
main()Wrong answer at output_line_idx=0: 9 != 333
333
9
TimeoutExceptionYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
i = 0
while n:
n, r = divmod(n, 10)
n += r * k
return n // kTime Limit Exceeded
18
TimeoutExceptionYou are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
cnt = 0
while n:
if n%limit:
cnt+=1
n-=limit
return cntTime Limit Exceeded
3
TimeoutExceptionYou are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
ans, num = 0, 0
while low <= high:
num = 10 * num + low % 10
if num // 10 > 0:
if num // 10 == low % 10:
ans += 1
num //= 10
low //= 10
return int(ans * (ans + 1) / 2)Time Limit Exceeded
9
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
print(int(input()) * int(input()))
Runtime Error
333
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def minimum_moves(t, test_cases):
for _ in range(t):
n = test_cases[_][0]
candies = test_cases[_][1]
oranges = test_cases[_][2]
min_candies = min(candies)
min_oranges = min(oranges)
ans = 0
for i in range(n):
ans += max(candies[i] - min_candies, oranges[i] - min_oranges)
print(ans)
def main():
t = int(input())
test_cases = []
for _ in range(t):
n = int(input())
candies = list(map(int, input().split()))
oranges = list(map(int, input().split()))
test_cases.append((n, candies, oranges))
minimum_moves(t, test_cases)
main()Runtime Error
333
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
print(input() * int(input()))
Runtime Error
333
For a positive integer X, let \text{ctz}(X) be the (maximal) number of consecutive zeros at the end of the binary notation of X.
If the binary notation of X ends with a 1, then \text{ctz}(X)=0.
You are given a positive integer N. Print \text{ctz}(N).
Input
The input is given from Standard Input in the following format:
N
Output
Print \text{ctz}(N).
Constraints
- 1\leq N\leq 10^9
- N is an integer.
Sample Input 1
2024
Sample Output 1
3
2024 is 11111101000 in binary, with three consecutive 0s from the end, so \text{ctz}(2024)=3.
Thus, print 3.
Sample Input 2
18
Sample Output 2
1
18 is 10010 in binary, so \text{ctz}(18)=1.
Note that we count the trailing zeros.
Sample Input 3
5
Sample Output 3
0A repunit is an integer whose digits are all 1 in decimal representation. The repunits in ascending order are 1, 11, 111, \ldots. Find the N-th smallest integer that can be expressed as the sum of exactly three repunits. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 333, inclusive. Sample Input 1 5 Sample Output 1 113 The integers that can be expressed as the sum of exactly three repunits are 3, 13, 23, 33, 113, \ldots in ascending order. For example, 113 can be expressed as 113 = 1 + 1 + 111. Note that the three repunits do not have to be distinct. Sample Input 2 19 Sample Output 2 2333 Sample Input 3 333 Sample Output 3 112222222233
You are given N pairs of integers (L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N).
Determine whether there exists a sequence of N integers X = (X_1, X_2, \ldots, X_N) that satisfies the following conditions, and print one such sequence if it exists.
- L_i \leq X_i \leq R_i for each i = 1, 2, \ldots, N.
- \displaystyle \sum_{i=1}^N X_i = 0.
Input
The input is given from Standard Input in the following format:
N
L_1 R_1
L_2 R_2
\vdots
L_N R_N
Output
If no solution exists, print No. Otherwise, print an integer sequence X that satisfies the conditions in the following format:
Yes
X_1 X_2 \ldots X_N
If multiple solutions exist, any of them will be considered correct.
Constraints
- 1 \leq N \leq 2 \times 10^5
- -10^9 \leq L_i \leq R_i \leq 10^9
- All input values are integers.
Sample Input 1
3
3 5
-4 1
-2 3
Sample Output 1
Yes
4 -3 -1
The sequence X = (4, -3, -1) satisfies all the conditions. Other valid sequences include (3, -3, 0) and (5, -4, -1).
Sample Input 2
3
1 2
1 2
1 2
Sample Output 2
No
No sequence X satisfies the conditions.
Sample Input 3
6
-87 12
-60 -54
2 38
-76 6
87 96
-17 38
Sample Output 3
Yes
-66 -57 31 -6 89 9Takahashi is initially at his house and is about to visit Aoki's house.
There are N bus stops numbered 1 to N between the two houses, and Takahashi can move between them in the following ways:
- He can walk from his house to bus stop 1 in X units of time.
- For each i = 1, 2, \ldots, N-1, a bus departs from bus stop i at each time that is a multiple of P_i, and by taking this bus, he can get to bus stop (i+1) in T_i units of time. Here, the constraints guarantee that 1 \leq P_i \leq 8.
- Takahashi can walk from bus stop N to Aoki's house in Y units of time.
For each i = 1, 2, \ldots, Q, process the following query.
Find the earliest time that Takahashi can arrive at Aoki's house when he leaves his house at time q_i.
Note that if he arrives at a bus stop exactly at the departure time of a bus, he can take that bus.
Input
The input is given from Standard Input in the following format:
N X Y
P_1 T_1
P_2 T_2
\vdots
P_{N-1} T_{N-1}
Q
q_1
q_2
\vdots
q_Q
Output
Print Q lines.
For each i = 1, 2, \ldots, Q, the i-th line should contain the answer to the i-th query.
Constraints
- 2 \leq N \leq 10^5
- 1 \leq X, Y \leq 10^9
- 1 \leq P_i \leq 8
- 1 \leq T_i \leq 10^9
- 1 \leq Q \leq 2 \times 10^5
- 0 \leq q_i \leq 10^9
- All input values are integers.
Sample Input 1
4 2 3
5 4
6 6
3 1
7
13
0
710511029
136397527
763027379
644706927
447672230
Sample Output 1
34
22
710511052
136397548
763027402
644706946
447672250
For the first query, Takahashi can
…(truncated)# n: Number of bus stops
# x: Time from Takahashi's house to bus stop 1
# y: Time from bus stop n to Aoki's house
# A_i: Bus departure times of buses at bus stop i
# T_i: Time it takes to get from bus stop i to bus stop i+1
def solve(n, x, y, A, T):
# Initialize maximum value of time to arrive at Aoki's House
max_time = 10**12
# Initialize minimum value of time to arrive at Aoki's House
min_time = 0
# Fill in the Inverse Aoki's Table
inverse_aoki_table = [0, ] * (max_time+1)
for i in range(1, n):
for j in range(x, max_time+1):
if j >= A[i]:
inverse_aoki_table[j+A[i]] = max(inverse_aoki_table[j+A[i]], inverse_aoki_table[j] + T[i])
# Calculate the time it takes to arrive at Aoki's house from bus stop 1
for j in range(x, max_time+1):
min_time = min(inverse_aoki_table[j], min_time)
max_time = max(inverse_aoki_table[j]+y, max_time)
return min_time, max_time
def main():
n, x, y = list(map(int, input().split()))
A, T = [], []
for i in range(n-1):
a, t = list(map(int, input().split()))
A.append(a)
T.append(t)
Q = int(input())
ans = []
for q in range(Q):
q_i = int(input())
min_time, max_time = solve(n, x, y, A, T)
ans.append(min_time)
if max_time - q_i < 0:
ans.append(max_time)
else:
ans.append(q_i)
for a in ans:
print(a)
main()harness timeout
You are given a string S consisting of lowercase English letters. How many different non-empty substrings does S have? A substring is a contiguous subsequence. For example, xxx is a substring of yxxxy but not of xxyxx. Input The input is given from Standard Input in the following format: S Output Print the answer. Constraints - S is a string of length between 1 and 100, inclusive, consisting of lowercase English letters. Sample Input 1 yay Sample Output 1 5 S has the following five different non-empty substrings: - a - y - ay - ya - yay Sample Input 2 aababc Sample Output 2 17 Sample Input 3 abracadabra Sample Output 3 54
def new():
ok = True
while ok:
try:
n = int(input())
ok = False
except:
print('Invalid Input')
n = new()
if n == 'yay':
print(n.count('a')+n.count('ya')+n.count('ay')+n.count('y')+n.count('yay'))
else:
print(0)harness timeout
For a positive integer N, let V_N be the integer formed by concatenating N exactly N times.
More precisely, consider N as a string, concatenate N copies of it, and treat the result as an integer to get V_N.
For example, V_3=333 and V_{10}=10101010101010101010.
Find the remainder when V_N is divided by 998244353.
Input
The input is given from Standard Input in the following format:
N
Output
Print the remainder when V_N is divided by 998244353.
Constraints
- 1 \leq N \leq 10^{18}
- N is an integer.
Sample Input 1
5
Sample Output 1
55555
The remainder when V_5=55555 is divided by 998244353 is 55555.
Sample Input 2
9
Sample Output 2
1755646
The remainder when V_9=999999999 is divided by 998244353 is 1755646.
Sample Input 3
10000000000
Sample Output 3
468086693
Note that the input may not fit into a 32-bit integer type.def main():
n = int(input())
print(int(str(n) * n) % 998244353)
main()harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 453 | 75.9% |
| timeout | 57 | 9.5% |
| runtime_error | 84 | 14.1% |
| no_code | 3 | 0.5% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 114 | 206 | 133 |
| timeout | 4 | 28 | 25 |
| runtime_error | 18 | 28 | 38 |
| no_code | 2 | 1 |
| exception | count | % of runtime |
|---|---|---|
| ValueError | 31 | 36.9% |
| IndexError | 20 | 23.8% |
| TypeError | 12 | 14.3% |
| EOFError | 9 | 10.7% |
| NameError | 8 | 9.5% |
| AttributeError | 2 | 2.4% |
| RecursionError | 1 | 1.2% |
| UnboundLocalError | 1 | 1.2% |
You are given two integers A and B, each between 0 and 9, inclusive. Print any integer between 0 and 9, inclusive, that is not equal to A + B. Input The input is given from Standard Input in the following format: A B Output Print any integer between 0 and 9, inclusive, that is not equal to A + B. Constraints - 0 \leq A \leq 9 - 0 \leq B \leq 9 - A + B \leq 9 - A and B are integers. Sample Input 1 2 5 Sample Output 1 2 When A = 2, B = 5, we have A + B = 7. Thus, printing any of 0, 1, 2, 3, 4, 5, 6, 8, 9 is correct. Sample Input 2 0 0 Sample Output 2 9 Sample Input 3 7 1 Sample Output 3 4
# YOUR CODE HERE
A, B = map(int, input().split())
for i in range(10):
if i != A + B:
print(i)Wrong answer: mismatched output length
2
0 1 2 3 4 5 6 8 9
A 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
# YOUR CODE HERE
n = int(input())
for i in range(n, 1000):
if (i // 100) * 10 % 10 == i % 10:
print(i)
breakWrong answer at output_line_idx=0: 320 != 326
326
320
Takahashi is in a building with 100 floors. He uses the stairs for moving up two floors or less or moving down three floors or less, and uses the elevator otherwise. Does he use the stairs to move from floor X to floor Y? Input The input is given from Standard Input in the following format: X Y Output If Takahashi uses the stairs for the move, print Yes; if he uses the elevator, print No. Constraints - 1 \leq X,Y \leq 100 - X \neq Y - All input values are integers. Sample Input 1 1 4 Sample Output 1 No The move from floor 1 to floor 4 involves going up three floors, so Takahashi uses the elevator. Sample Input 2 99 96 Sample Output 2 Yes The move from floor 99 to floor 96 involves going down three floors, so Takahashi uses the stairs. Sample Input 3 100 1 Sample Output 3 No
# YOUR CODE HERE
x, y = map(int, input().split())
if abs(x - y) <= 3:
print("Yes")
else:
print("No")Wrong answer at output_line_idx=0: Yes != No
No
Yes
TimeoutExceptionA non-negative integer n is called a good integer when it satisfies the following condition:
- All digits in the decimal notation of n are even numbers (0, 2, 4, 6, and 8).
For example, 0, 68, and 2024 are good integers.
You are given an integer N. Find the N-th smallest good integer.
Input
The input is given from Standard Input in the following format:
N
Output
Print the N-th smallest good integer.
Constraints
- 1 \leq N \leq 10^{12}
- N is an integer.
Sample Input 1
8
Sample Output 1
24
The good integers in ascending order are 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \dots.
The eighth smallest is 24, which should be printed.
Sample Input 2
133
Sample Output 2
2024
Sample Input 3
31415926535
Sample Output 3
2006628868244228# YOUR CODE HERE
n = int(input())
i = 0
num = 0
while True:
if str(num).isdigit() and all(int(digit) % 2 == 0 for digit in str(num)):
i += 1
if i == n:
print(num)
break
num += 1Time Limit Exceeded
2006628868244228
TimeoutExceptionYou are given an integer B.
If there exists a positive integer A such that A^A = B, print its value; otherwise, output -1.
Input
The input is given from Standard Input in the following format:
B
Output
If there exists a positive integer A such that A^A = B, print its value; otherwise, print -1.
If there are multiple positive integers A such that A^A = B, any of them will be accepted.
Constraints
- 1 \leq B \leq 10^{18}
- B is an integer.
Sample Input 1
27
Sample Output 1
3
3^3 = 27, so print 3.
Sample Input 2
100
Sample Output 2
-1
There is no A such that A^A = B.
Sample Input 3
10000000000
Sample Output 3
10# YOUR CODE HERE
B = int(input())
for A in range(1, B + 1):
if A ** A == B:
print(A)
break
else:
print(-1)Time Limit Exceeded
-1
TimeoutExceptionYou are given two integers num1 and num2. In one operation, you can choose integer i in the range [0, 60] and subtract 2^i + num2 from num1. Return the integer denoting the minimum number of operations needed to make num1 equal to 0. If it is impossible to make num1 equal to 0, return -1. Example 1: Input: num1 = 3, num2 = -2 Output: 3 Explanation: We can make 3 equal to 0 with the following operations: - We choose i = 2 and substract 2^2 + (-2) from 3, 3 - (4 + (-2)) = 1. - We choose i = 2 and substract 2^2 + (-2) from 1, 1 - (4 + (-2)) = -1. - We choose i = 0 and substract 2^0 + (-2) from -1, (-1) - (1 + (-2)) = 0. It can be proven, that 3 is the minimum number of operations that we need to perform. Example 2: Input: num1 = 5, num2 = 7 Output: -1 Explanation: It can be proven, that it is impossible to make 5 equal to 0 with the given operation. Constraints: 1 <= num1 <= 10^9 -10^9 <= num2 <= 10^9
class Solution:
def makeTheIntegerZero(self, num1: int, num2: int) -> int:
if num1 <= 0:
return 0
operations = 0
while num1 > 0:
for i in range(60, -1, -1):
if 2**i + num2 <= num1:
num1 -= 2**i + num2
operations += 1
break
else:
return -1
return operationsTime Limit Exceeded
3
AttributeErrorTakahashi eats three plates for breakfast: rice, miso soup, and salad. His table is long and narrow, so he arranged the three plates in a row. The arrangement is given by a string S, where the i-th plate from the left is rice if S_i is R, miso soup if S_i is M, and salad if S_i is S. Determine whether the plate of rice is to the left of the plate of miso soup. Input The input is given from Standard Input in the following format: S Output Print Yes if the plate of rice is to the left of the plate of miso soup, and No otherwise. Constraints - |S| = 3 - S contains one R, one M, and one S. Sample Input 1 RSM Sample Output 1 Yes The plate of rice is at the 1st position from the left, and the plate of miso soup is at the 3rd position from the left. Since the plate of rice is to the left, print Yes. Sample Input 2 SMR Sample Output 2 No The plates are arranged as salad, miso soup, and rice from left to right.
# YOUR CODE HERE
R_index = S.index('R')
M_index = S.index('M')
if R_index < M_index:
print('Yes')
else:
print('No')Runtime Error
Yes
ValueErrorThere are N villages on a number line. The i-th village is located at coordinate X_i, and has P_i villagers. Answer Q queries. The i-th query is in the following format: - Given integers L_i and R_i, find the total number of villagers living in villages located between coordinates L_i and R_i, inclusive. Input The input is given from Standard Input in the following format: N X_1 \ldots X_N P_1 \ldots P_N Q L_1 R_1 \vdots L_Q R_Q Output Print Q lines. The i-th line(1\leq i \leq Q) should contain the answer to the i-th query. Constraints - 1\leq N,Q\leq 2\times 10^5 - -10^9\leq X_1 < X_2 < \ldots < X_N \leq 10^9 - 1\leq P_i\leq 10^9 - -10^9\leq L_i \leq R_i \leq 10^9 - All input values are integers. Sample Input 1 4 1 3 5 7 1 2 3 4 4 1 1 2 6 0 10 2 2 Sample Output 1 1 5 10 0 Consider the first query. The villages between coordinates 1 and 1 are the village at coordinate 1, with 1 villager. Hence, the answer is 1. Consider the second query. The villages between coordinates 2 and 6 are the villages at coordinates 3 and 5, with 2 and 3 villagers, respectively. Hence, the answer is 2+3=5. Sample Input 2 7 -10 -5 -3 -1 0 1 4 2 5 6 5 2 1 7 8 -7 7 -1 5 -10 -4 -8 10 -5 0 -10 5 -8 7 -8 -3 Sample Output 2 26 15 7 26 18 28 26 11
# YOUR CODE HERE
N = int(input())
X = list(map(int, input().split()))
P = list(map(int, input()))
Q = int(input())
for _ in range(Q):
L, R = map(int, input().split())
print(sum(P[X.index(i):X.index(i+1)] for i in range(X.index(L), X.index(R+1))))Runtime Error
1 5 10 0
ValueErrorTakahashi came to a store to buy a pen. Here, a red pen costs R yen, a green pen costs G yen, and a blue pen costs B yen. Takahashi dislikes the color C. If C is Red, he cannot buy a red pen; if C is Green, he cannot buy a green pen; and if C is Blue, he cannot buy a blue pen. Determine the minimum amount of money he needs to buy one pen. Input The input is given from Standard Input in the following format: R G B C Output If the minimum amount of money Takahashi needs to buy one pen is X yen, print X. Constraints - 1\leq R,G,B\leq 100 - R, G, and B are integers. - C is Red, Green, or Blue. Sample Input 1 20 30 10 Blue Sample Output 1 20 A red pen costs 20 yen, a green pen costs 30 yen, and a blue pen costs 10 yen. Takahashi cannot buy a blue pen, but he can buy a red pen for 20 yen. Sample Input 2 100 100 100 Red Sample Output 2 100 Sample Input 3 37 39 93 Blue Sample Output 3 37
# YOUR CODE HERE
R, G, B, C = map(int, input().split())
if C == 1: # Red
print(min(R, G, B))
elif C == 2: # Green
print(min(R, B))
else: # Blue
print(min(R, G))Runtime Error
20
Takahashi has N cards from the card game "AtCoder Magics." The i-th card will be called card i. Each card has two parameters: strength and cost. Card i has a strength of A_i and a cost of C_i. He does not like weak cards, so he will discard them. Specifically, he will repeat the following operation until it can no longer be performed: - Choose two cards x and y such that A_x > A_y and C_x < C_y. Discard card y. It can be proved that the set of remaining cards when the operations can no longer be performed is uniquely determined. Find this set of cards. Input The input is given from Standard Input in the following format: N A_1 C_1 A_2 C_2 \vdots A_N C_N Output Let there be m remaining cards, cards i_1, i_2, \dots, i_m, in ascending order. Print these in the following format: m i_1 i_2 \cdots i_m Constraints - 2 \leq N \leq 2 \times 10^5 - 1 \leq A_i, C_i \leq 10^9 - A_1, A_2, \dots ,A_N are all distinct. - C_1, C_2, \dots ,C_N are all distinct. - All input values are integers. Sample Input 1 3 2 4 1 1 3 2 Sample Output 1 2 2 3 Focusing on cards 1 and 3, we have A_1 < A_3 and C_1 > C_3, so card 1 can be discarded. No further operations can be performed. At this point, cards 2 and 3 remain, so print them. Sample Input 2 5 1 1 10 2 100 3 1000 4 10000 5 Sample Output 2 5 1 2 3 4 5 In this case, no cards can be discarded. Sample Input 3 6 32 101 65 78 2 29 46 55 103 130 52 40 Sample Output 3 4 2 3 5 6
This is an interactive problem (where your program interacts with the judge via input and output).
You are given a positive integer N and integers L and R such that 0 \leq L \leq R < 2^N. The judge has a hidden sequence A = (A_0, A_1, \dots, A_{2^N-1}) consisting of integers between 0 and 99, inclusive.
Your goal is to find the remainder when A_L + A_{L+1} + \dots + A_R is divided by 100. However, you cannot directly know the values of the elements in the sequence A. Instead, you can ask the judge the following question:
- Choose non-negative integers i and j such that 2^i(j+1) \leq 2^N. Let l = 2^i j and r = 2^i (j+1) - 1. Ask for the remainder when A_l + A_{l+1} + \dots + A_r is divided by 100.
Let m be the minimum number of questions required to determine the remainder when A_L + A_{L+1} + \dots + A_R is divided by 100 for any sequence A. You need to find this remainder within m questions.
Input and Output
This is an interactive problem (where your program interacts with the judge via input and output).
First, read the integers N, L, and R from Standard Input:
N L R
Then, repeat asking questions until you can determine the remainder when A_L + A_{L+1} + \dots + A_R is divided by 100. Each question should be printed in the following format:
? i j
Here, i and j must satisfy the following constraints:
- i and j are non-negative integers.
- 2^i(j+1) \leq 2^N
The response to the question will be given in the following format from Standard Input:
T
Here, T is the ans
…(truncated)You are given two strings word1 and word2. A string x is called valid if x can be rearranged to have word2 as a prefix. Return the total number of valid substrings of word1. Example 1: Input: word1 = "bcca", word2 = "abc" Output: 1 Explanation: The only valid substring is "bcca" which can be rearranged to "abcc" having "abc" as a prefix. Example 2: Input: word1 = "abcabc", word2 = "abc" Output: 10 Explanation: All the substrings except substrings of size 1 and size 2 are valid. Example 3: Input: word1 = "abcabc", word2 = "aaabc" Output: 0 Constraints: 1 <= word1.length <= 10^5 1 <= word2.length <= 10^4 word1 and word2 consist only of lowercase English letters.
| category | count | % of failures |
|---|---|---|
| wrong_answer | 42879 | 69.3% |
| timeout | 4945 | 8.0% |
| runtime_error | 10846 | 17.5% |
| no_code | 3126 | 5.1% |
| harness_timeout | 46 | 0.1% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 11157 | 19317 | 12405 |
| timeout | 344 | 2491 | 2110 |
| runtime_error | 2600 | 3713 | 4533 |
| no_code | 1076 | 1327 | 723 |
| harness_timeout | 44 | 2 |
| exception | count | % of runtime |
|---|---|---|
| ValueError | 3539 | 32.6% |
| IndexError | 2855 | 26.3% |
| TypeError | 1567 | 14.4% |
| EOFError | 954 | 8.8% |
| NameError | 631 | 5.8% |
| UnboundLocalError | 337 | 3.1% |
| KeyError | 306 | 2.8% |
| AttributeError | 291 | 2.7% |
| ZeroDivisionError | 130 | 1.2% |
| RecursionError | 116 | 1.1% |
| RuntimeError | 28 | 0.3% |
| OverflowError | 28 | 0.3% |
| StopIteration | 18 | 0.2% |
| MemoryError | 18 | 0.2% |
| SyntaxError | 13 | 0.1% |
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
`n = int(input()) print(str(n) * n)`
Error during testing: invalid syntax (<string>, line 1)
Given a length-3 string S consisting of uppercase English letters, print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Input The input is given from Standard Input in the following format: S Output Print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Constraints - S is a length-3 string consisting of uppercase English letters. Sample Input 1 ABC Sample Output 1 No When S = ABC, S does not equal any of ACE, BDF, CEG, DFA, EGB, FAC, and GBD, so No should be printed. Sample Input 2 FAC Sample Output 2 Yes Sample Input 3 XYX Sample Output 3 No
# YOUR CODE HERE
S = input()
s = set('ACEBDFCEGDFAGEFGB')
if S in s:
print('Yes')
else:
print('No')Wrong answer at output_line_idx=0: No != Yes
Yes
No
An integer divisible by the sum of its digits is said to be a Harshad number. You are given an integer x. Return the sum of the digits of x if x is a Harshad number, otherwise, return -1. Example 1: Input: x = 18 Output: 9 Explanation: The sum of digits of x is 9. 18 is divisible by 9. So 18 is a Harshad number and the answer is 9. Example 2: Input: x = 23 Output: -1 Explanation: The sum of digits of x is 5. 23 is not divisible by 5. So 23 is not a Harshad number and the answer is -1. Constraints: 1 <= x <= 100
class Solution:
def sumOfTheDigitsOfHarshadNumber(self, x: int) -> int:
sum_of_digits = 0
while x > 0:
sum_of_digits += x % 10
x //= 10
if x % sum_of_digits == 0:
return sum_of_digits
else:
return -1Wrong Answer
-1
5
TimeoutExceptionYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
def sum_array(i, res):
if i > n:
return float('inf')
return min(res + i, sum_array(i + 1, res))
start = 1
min_sum = float('inf')
for end in range(1, n + 1):
while start + start + k > end * 2:
start += 1
min_sum = min(min_sum, sum_array(end, start))
return min_sumTime Limit Exceeded
18
TimeoutExceptionGiven two positive integers n and x. Return the number of ways n can be expressed as the sum of the x^th power of unique positive integers, in other words, the number of sets of unique integers [n_1, n_2, ..., n_k] where n = n_1^x + n_2^x + ... + n_k^x. Since the result can be very large, return it modulo 10^9 + 7. For example, if n = 160 and x = 3, one way to express n is n = 2^3 + 3^3 + 5^3. Example 1: Input: n = 10, x = 2 Output: 1 Explanation: We can express n as the following: n = 3^2 + 1^2 = 10. It can be shown that it is the only way to express 10 as the sum of the 2^nd power of unique integers. Example 2: Input: n = 4, x = 1 Output: 2 Explanation: We can express n in the following ways: - n = 4^1 = 4. - n = 3^1 + 1^1 = 4. Constraints: 1 <= n <= 300 1 <= x <= 5
class Solution:
def numberOfWays(self, n: int, x: int) -> int:
MOD = 10**9 + 7
res = 0
for i in range(1, n + 1):
k = i**x
if k > n:
break
res += self.countWays(n, x, i, k, MOD)
return res % MOD
def countWays(self, n: int, x: int, i: int, k: int, MOD: int) -> int:
if k > n:
return 0
if k == n:
return 1
res = 0
for j in range(i + 1, n + 1):
new_k = k + j**x
if new_k > n:
break
res += self.countWays(n, x, j, new_k, MOD)
return res % MODTime Limit Exceeded
193582642
TimeoutExceptionGiven two positive integers n and x. Return the number of ways n can be expressed as the sum of the x^th power of unique positive integers, in other words, the number of sets of unique integers [n_1, n_2, ..., n_k] where n = n_1^x + n_2^x + ... + n_k^x. Since the result can be very large, return it modulo 10^9 + 7. For example, if n = 160 and x = 3, one way to express n is n = 2^3 + 3^3 + 5^3. Example 1: Input: n = 10, x = 2 Output: 1 Explanation: We can express n as the following: n = 3^2 + 1^2 = 10. It can be shown that it is the only way to express 10 as the sum of the 2^nd power of unique integers. Example 2: Input: n = 4, x = 1 Output: 2 Explanation: We can express n in the following ways: - n = 4^1 = 4. - n = 3^1 + 1^1 = 4. Constraints: 1 <= n <= 300 1 <= x <= 5
class Solution:
def numberOfWays(self, n: int, x: int) -> int:
MOD = 10**9 + 7
res = 0
for i in range(1, n+1):
a = i**x
if a > n:
break
res += self.count(a, n, x, i, MOD)
return res % MOD
def count(self, a: int, n: int, x: int, i: int, MOD: int) -> int:
if a == n:
return 1
if a > n:
return 0
res = 0
for j in range(i+1, n+1):
if (j**x) > (n-a):
break
res += self.count(a+j**x, n, x, j, MOD)
return res % MODTime Limit Exceeded
193582642
EOFErrorGiven a length-3 string S consisting of uppercase English letters, print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Input The input is given from Standard Input in the following format: S Output Print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Constraints - S is a length-3 string consisting of uppercase English letters. Sample Input 1 ABC Sample Output 1 No When S = ABC, S does not equal any of ACE, BDF, CEG, DFA, EGB, FAC, and GBD, so No should be printed. Sample Input 2 FAC Sample Output 2 Yes Sample Input 3 XYX Sample Output 3 No
# YOUR CODE HERE
for s in ['ACE', 'BDF', 'CEG', 'DFA', 'EGB', 'FAC', 'GBD']:
if input() == s:
print('Yes')
break
else:
print('No')Runtime Error
No
ValueErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
A = int(input()) B = int(input()) print(A**B + B**A)
Runtime Error
320
ValueErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
A = int(input()) B = int(input()) print(A**B + B**A)
Runtime Error
320
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
You are given N linear functions f_1, f_2, \ldots, f_N, where f_i(x) = A_i x + B_i.
Find the maximum possible value of f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) for a sequence p = (p_1, p_2, \ldots, p_K) of K distinct integers between 1 and N, inclusive.
Input
The input is given from Standard Input in the following format:
N K
A_1 B_1
A_2 B_2
\vdots
A_N B_N
Output
Print the answer as an integer.
Constraints
- 1 \leq N \leq 2 \times 10^{5}
- 1 \leq K \leq \text{min}(N,10)
- 1 \leq A_i, B_i \leq 50 (1 \leq i \leq N)
- All input values are integers.
Sample Input 1
3 2
2 3
1 5
4 2
Sample Output 1
26
Here are all possible p and the corresponding values of f_{p_1}(f_{p_2}(1)):
- p= ( 1,2 ) : f_1(f_2(1))=15
- p= ( 1,3 ) : f_1(f_3(1))=15
- p= ( 2,1 ) : f_2(f_1(1))=10
- p= ( 2,3 ) : f_2(f_3(1))=11
- p= ( 3,1 ) : f_3(f_1(1))=22
- p= ( 3,2 ) : f_3(f_2(1))=26
Therefore, print 26.
Sample Input 2
10 3
48 40
34 22
24 37
45 40
48 31
49 44
45 40
44 6
35 22
39 28
Sample Output 2
216223import sys
import itertools
# Read inputs
N, K = map(int, input().split())
lines = []
for _ in range(N):
A, B = map(int, input().split())
lines.append((A, B))
# Generate all possible sequences of K distinct integers
sequences = list(itertools.permutations(range(1, N + 1), K))
# Initialize the maximum result
max_result = float('-inf')
# Iterate over all sequences
for sequence in sequences:
# Initialize the current result
current_result = 1
for func_idx in sequence:
A, B = lines[func_idx - 1]
current_result = A * current_result + B
# Update the maximum result
max_result = max(max_result, current_result)
# Write the answer to stdout
print(max_result)harness timeout
You are given positive integers N and K.
An integer sequence of length NK where each integer from 1 to N appears exactly K times is called a good integer sequence.
Let S be the number of good integer sequences.
Find the \operatorname{floor}((S+1)/2)-th good integer sequence in lexicographical order.
Here, \operatorname{floor}(x) represents the largest integer not exceeding x.
What is lexicographical order for sequences?
A sequence S = (S_1,S_2,\ldots,S_{|S|}) is lexicographically smaller than a sequence T = (T_1,T_2,\ldots,T_{|T|}) if either 1. or 2. below holds.
Here, |S| and |T| represent the lengths of S and T, respectively.
- |S| \lt |T| and (S_1,S_2,\ldots,S_{|S|}) = (T_1,T_2,\ldots,T_{|S|}).
- There exists an integer 1 \leq i \leq \min\lbrace |S|, |T| \rbrace such that both of the following hold:
- (S_1,S_2,\ldots,S_{i-1}) = (T_1,T_2,\ldots,T_{i-1})
- S_i is (numerically) smaller than T_i.
Input
The input is given from Standard Input in the following format:
N K
Output
Print the desired integer sequence, with elements separated by spaces.
Constraints
- 1 \leq N \leq 500
- 1 \leq K \leq 500
- All input values are integers.
Sample Input 1
2 2
Sample Output 1
1 2 2 1
There are six good integer sequences:
- (1,1,2,2)
- (1,2,1,2)
- (1,2,2,1)
- (2,1,1,2)
- (2,1,2,1)
- (2,2,1,1)
Therefore, the answer is the 3rd sequence in lexicographical order, (1,2,2,1).
Sample Input 2
1 5
Sample Output 2
1 1 1 1 1
Sample Input 3
6 1
Sample Output 3
3 6 5 4
…(truncated)# YOUR CODE HERE
from math import floor
from itertools import count, cycle
N, K = map(int, input().split())
total_sequences = N ** K
desired_sequence = list(cycle(range(1, N + 1)))[:total_sequences]
desired_sequence = [' '.join(map(str, desired_sequence[i:i + K])) for i in range(0, total_sequences, K)]
desired_sequence.sort()
print(desired_sequence[floor((total_sequences + 1) / 2) - 1].replace(',', ''))harness timeout
There is a 9\times 9 grid A, where each cell contains an integer between 1 and 9, inclusive.
Specifically, the cell at the i-th row from the top and j-th column from the left contains A_{i,j}.
If A satisfies all of the following conditions, print Yes. Otherwise, print No.
- For each row of A, the nine cells in that row contain each integer from 1 to 9 exactly once.
- For each column of A, the nine cells in that column contain each integer from 1 to 9 exactly once.
- Divide the rows of A into three groups, each of three rows, from top to bottom, and similarly divide the columns into three groups, each of three columns, from left to right.
Each 3\times 3 grid obtained from A in this way contains each integer from 1 to 9 exactly once.
Input
The input is given from Standard Input in the following format:
A_{1,1} A_{1,2} \ldots A_{1,9}
A_{2,1} A_{2,2} \ldots A_{2,9}
\vdots
A_{9,1} A_{9,2} \ldots A_{9,9}
Output
If the grid A satisfies all the conditions in the problem statement, print Yes; otherwise, print No.
Constraints
- 1\leq A_{i,j}\leq 9
- All input values are integers.
Sample Input 1
1 2 3 4 5 6 7 8 9
4 5 6 7 8 9 1 2 3
7 8 9 1 2 3 4 5 6
2 3 4 5 6 7 8 9 1
5 6 7 8 9 1 2 3 4
8 9 1 2 3 4 5 6 7
3 4 5 6 7 8 9 1 2
6 7 8 9 1 2 3 4 5
9 1 2 3 4 5 6 7 8
Sample Output 1
Yes
The grid A is shown below.
The grid A satisfies all three conditions, so print Yes.
Sample Input 2
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9 1
3 4 5 6 7 8 9 1 2
4 5 6 7 8 9 1 2 3
5 6 7 8 9 1 2 3 4
6 7 8 9 1 2
…(truncated)# YOUR CODE HERE
from itertools import cycle
grid = [list(map(int, input().split())) for _ in range(9)]
rows, cols = zip(*[list(cycle(range(1, 10))) for _ in range(9)])
def is_valid():
for i in range(9):
if sorted(grid[i]) != list(range(1, 10)):
return False
if sorted([row[i] for row in grid]) != list(range(1, 10)):
return False
for i in range(0, 9, 3):
for j in range(0, 9, 3):
if sorted([grid[k][l] for k, l in [(i + x, j + y) for x in range(3) for y in range(3)]]) != list(range(1, 10)):
return False
return True
if is_valid():
print('Yes')
else:
print('No')harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 490 | 76.4% |
| timeout | 33 | 5.1% |
| runtime_error | 118 | 18.4% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 141 | 209 | 140 |
| timeout | 2 | 18 | 13 |
| runtime_error | 27 | 45 | 46 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 53 | 44.9% |
| ValueError | 41 | 34.7% |
| TypeError | 12 | 10.2% |
| EOFError | 5 | 4.2% |
| NameError | 2 | 1.7% |
| RecursionError | 2 | 1.7% |
| AttributeError | 1 | 0.8% |
| KeyError | 1 | 0.8% |
| ZeroDivisionError | 1 | 0.8% |
You are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
return min(n // (limit + 1), 3)Wrong Answer
3
1
We have the following 3 \times 3 board with integers from 1 through 9 written on it. You are given two integers A and B between 1 and 9, where A < B. Determine if the two squares with A and B written on them are adjacent horizontally. Input The input is given from Standard Input in the following format: A B Output Print Yes if the two squares with A and B written on them are adjacent horizontally, and No otherwise. Constraints - 1 \le A < B \le 9 - A and B are integers. Sample Input 1 7 8 Sample Output 1 Yes The two squares with 7 and 8 written on them are adjacent horizontally, so print Yes. Sample Input 2 1 9 Sample Output 2 No Sample Input 3 3 4 Sample Output 3 No
def main():
a, b = map(int, input().split())
if a == 1 and b == 3:
print("Yes")
elif a == 2 and b == 4:
print("Yes")
elif a == 3 and b == 1:
print("Yes")
elif a == 4 and b == 2:
print("Yes")
else:
print("No")
main()Wrong answer at output_line_idx=0: No != Yes
Yes
No
You are given two integers A and B, each between 0 and 9, inclusive. Print any integer between 0 and 9, inclusive, that is not equal to A + B. Input The input is given from Standard Input in the following format: A B Output Print any integer between 0 and 9, inclusive, that is not equal to A + B. Constraints - 0 \leq A \leq 9 - 0 \leq B \leq 9 - A + B \leq 9 - A and B are integers. Sample Input 1 2 5 Sample Output 1 2 When A = 2, B = 5, we have A + B = 7. Thus, printing any of 0, 1, 2, 3, 4, 5, 6, 8, 9 is correct. Sample Input 2 0 0 Sample Output 2 9 Sample Input 3 7 1 Sample Output 3 4
def main():
a, b = map(int, input().split())
print(9 - a - b)
main()Wrong answer at output_line_idx=0: 1 != 4
4
1
TimeoutExceptionA non-negative integer n is called a good integer when it satisfies the following condition:
- All digits in the decimal notation of n are even numbers (0, 2, 4, 6, and 8).
For example, 0, 68, and 2024 are good integers.
You are given an integer N. Find the N-th smallest good integer.
Input
The input is given from Standard Input in the following format:
N
Output
Print the N-th smallest good integer.
Constraints
- 1 \leq N \leq 10^{12}
- N is an integer.
Sample Input 1
8
Sample Output 1
24
The good integers in ascending order are 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \dots.
The eighth smallest is 24, which should be printed.
Sample Input 2
133
Sample Output 2
2024
Sample Input 3
31415926535
Sample Output 3
2006628868244228def main():
n = int(input())
ans = 0
for i in range(10):
for j in range(10):
for k in range(10):
for l in range(10):
for m in range(10):
for o in range(10):
for p in range(10):
for q in range(10):
for r in range(10):
for s in range(10):
for t in range(10):
for u in range(10):
for v in range(10):
for w in range(10):
for x in range(10):
for y in range(10):
for z in range(10):
ans += 1
if ans == n:
print(int(str(i) + str(j) + str(k) + str(l) + str(m) + str(o) + str(p) + str(q) + str(r) + str(s) + str(t) + str(u) + str(v) + str(w) + str(x) + str(y) + str(z)))
main()Time Limit Exceeded
24
TimeoutExceptionYou are given an integer B.
If there exists a positive integer A such that A^A = B, print its value; otherwise, output -1.
Input
The input is given from Standard Input in the following format:
B
Output
If there exists a positive integer A such that A^A = B, print its value; otherwise, print -1.
If there are multiple positive integers A such that A^A = B, any of them will be accepted.
Constraints
- 1 \leq B \leq 10^{18}
- B is an integer.
Sample Input 1
27
Sample Output 1
3
3^3 = 27, so print 3.
Sample Input 2
100
Sample Output 2
-1
There is no A such that A^A = B.
Sample Input 3
10000000000
Sample Output 3
10def main():
b = int(input())
for i in range(1, b + 1):
if i ** i == b:
print(i)
return
print(-1)
main()Time Limit Exceeded
-1
TimeoutExceptionYou are given N intervals of real numbers. The i-th (1 \leq i \leq N) interval is [l_i, r_i]. Find the number of pairs (i, j)\,(1 \leq i < j \leq N) such that the i-th and j-th intervals intersect. Input The input is given from Standard Input in the following format: N l_1 r_1 l_2 r_2 \vdots l_N r_N Output Print the answer. Constraints - 2 \leq N \leq 5 \times 10^5 - 0 \leq l_i < r_i \leq 10^9 - All input values are integers. Sample Input 1 3 1 5 7 8 3 7 Sample Output 1 2 The given intervals are [1,5], [7,8], [3,7]. Among these, the 1-st and 3-rd intervals intersect, as well as the 2-nd and 3-rd intervals, so the answer is 2. Sample Input 2 3 3 4 2 5 1 6 Sample Output 2 3 Sample Input 3 2 1 2 3 4 Sample Output 3 0
def main():
n = int(input())
intervals = []
for _ in range(n):
l, r = map(int, input().split())
intervals.append((l, r))
intervals.sort()
ans = 0
for i in range(n):
for j in range(i + 1, n):
if intervals[i][1] >= intervals[j][0]:
ans += 1
print(ans)
main()Time Limit Exceeded
124999750000
IndexErrorThere is a road extending east and west, and N persons are on the road. The road extends infinitely long to the east and west from a point called the origin. The i-th person (1\leq i\leq N) is initially at a position X_i meters east from the origin. The persons can move along the road to the east or west. Specifically, they can perform the following movement any number of times. - Choose one person. If there is no other person at the destination, move the chosen person 1 meter east or west. They have Q tasks in total, and the i-th task (1\leq i\leq Q) is as follows. - The T_i-th person arrives at coordinate G_i. Find the minimum total number of movements required to complete all Q tasks in order. Input The input is given from Standard Input in the following format: N X_1 X_2 \ldots X_N Q T_1 G_1 T_2 G_2 \vdots T_Q G_Q Output Print the answer. Constraints - 1\leq N\leq2\times10^5 - 0\leq X_1 < X_2 < \dotsb < X_N \leq10^8 - 1\leq Q\leq2\times10^5 - 1\leq T_i\leq N\ (1\leq i\leq Q) - 0\leq G_i\leq10^8\ (1\leq i\leq Q) - All input values are integers. Sample Input 1 5 10 20 30 40 50 4 3 45 4 20 1 35 2 60 Sample Output 1 239 An optimal sequence of movements for the persons is as follows (the positions of the persons are not necessarily drawn to scale): For each task, the persons move as follows. - The 4th person moves 6 steps east, and the 3rd person moves 15 steps east. - The 2nd person moves 2 steps west, the 3rd person moves 26 steps west, and the 4th person m …(truncated)
def minimum_moves(n, x, q, t, g):
ans = 0
for i in range(q):
ans += abs(x[t[i]-1] - g[i])
print(ans)
def main():
n = int(input())
x = list(map(int, input().split()))
q = int(input())
t = list(map(int, input().split()))
g = list(map(int, input().split()))
minimum_moves(n, x, q, t, g)
main()Runtime Error
239
IndexErrorIn the nation of Atcoder, there are N cities numbered 1 to N, and M trains numbered 1 to M. Train i departs from city A_i at time S_i and arrives at city B_i at time T_i. Given a positive integer X_1, find a way to set non-negative integers X_2,\ldots,X_M that satisfies the following condition with the minimum possible value of X_2+\ldots+X_M. - Condition: For all pairs (i,j) satisfying 1 \leq i,j \leq M, if B_i=A_j and T_i \leq S_j, then T_i+X_i \leq S_j+X_j. - In other words, for any pair of trains that are originally possible to transfer between, it is still possible to transfer even after delaying the departure and arrival times of each train i by X_i. It can be proved that such a way to set X_2,\ldots,X_M with the minimum possible value of X_2+\ldots+X_M is unique. Input The input is given from Standard Input in the following format: N M X_1 A_1 B_1 S_1 T_1 \vdots A_M B_M S_M T_M Output Print X_2,\ldots,X_M that satisfy the condition with the minimum possible sum, in that order, separated by spaces. Constraints - 2 \leq N \leq 2\times 10^5 - 2 \leq M \leq 2\times 10^5 - 1 \leq A_i,B_i \leq N - A_i \neq B_i - 0 \leq S_i < T_i \leq 10^9 - 1 \leq X_1 \leq 10^9 - All input values are integers. Sample Input 1 3 6 15 1 2 10 20 1 2 20 30 2 3 25 40 2 3 35 50 3 1 15 30 3 1 45 60 Sample Output 1 0 10 0 0 5 The arrival of train 1 from city 1 to 2 is delayed by 15 and becomes time 35. To allow transfer from train 1 to 3 in city 2, the departure of train 3 …(truncated)
def main():
n, m, x1 = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
s = list(map(int, input().split()))
t = list(map(int, input().split()))
ans = 0
for i in range(m):
if a[i] == b[i] and s[i] <= t[i]:
ans += x1
print(ans)
main()Runtime Error
0 10 0 0 5
IndexErrorThere are N villages on a number line. The i-th village is located at coordinate X_i, and has P_i villagers. Answer Q queries. The i-th query is in the following format: - Given integers L_i and R_i, find the total number of villagers living in villages located between coordinates L_i and R_i, inclusive. Input The input is given from Standard Input in the following format: N X_1 \ldots X_N P_1 \ldots P_N Q L_1 R_1 \vdots L_Q R_Q Output Print Q lines. The i-th line(1\leq i \leq Q) should contain the answer to the i-th query. Constraints - 1\leq N,Q\leq 2\times 10^5 - -10^9\leq X_1 < X_2 < \ldots < X_N \leq 10^9 - 1\leq P_i\leq 10^9 - -10^9\leq L_i \leq R_i \leq 10^9 - All input values are integers. Sample Input 1 4 1 3 5 7 1 2 3 4 4 1 1 2 6 0 10 2 2 Sample Output 1 1 5 10 0 Consider the first query. The villages between coordinates 1 and 1 are the village at coordinate 1, with 1 villager. Hence, the answer is 1. Consider the second query. The villages between coordinates 2 and 6 are the villages at coordinates 3 and 5, with 2 and 3 villagers, respectively. Hence, the answer is 2+3=5. Sample Input 2 7 -10 -5 -3 -1 0 1 4 2 5 6 5 2 1 7 8 -7 7 -1 5 -10 -4 -8 10 -5 0 -10 5 -8 7 -8 -3 Sample Output 2 26 15 7 26 18 28 26 11
def main():
n = int(input())
x = list(map(int, input().split()))
p = list(map(int, input().split()))
q = int(input())
l = list(map(int, input().split()))
r = list(map(int, input().split()))
ans = []
for i in range(q):
ans.append(sum(p[l[i]:r[i]+1]))
print(*ans, sep='\n')
main()Runtime Error
1 5 10 0
| category | count | % of failures |
|---|---|---|
| wrong_answer | 44146 | 65.4% |
| timeout | 1988 | 2.9% |
| runtime_error | 21085 | 31.2% |
| no_code | 287 | 0.4% |
| harness_timeout | 12 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 14769 | 18599 | 10778 |
| timeout | 283 | 1047 | 658 |
| runtime_error | 4964 | 7889 | 8232 |
| no_code | 57 | 104 | 126 |
| harness_timeout | 6 | 6 |
| exception | count | % of runtime |
|---|---|---|
| ValueError | 8473 | 40.2% |
| IndexError | 4758 | 22.6% |
| TypeError | 3593 | 17.0% |
| EOFError | 1432 | 6.8% |
| NameError | 1176 | 5.6% |
| UnboundLocalError | 454 | 2.2% |
| KeyError | 371 | 1.8% |
| RecursionError | 299 | 1.4% |
| AttributeError | 247 | 1.2% |
| ZeroDivisionError | 186 | 0.9% |
| RuntimeError | 31 | 0.1% |
| OverflowError | 18 | 0.1% |
| FileNotFoundError | 12 | 0.1% |
| MemoryError | 11 | 0.1% |
| AssertionError | 6 | 0.0% |
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def main():
n = int(input())
print(n*n)
main()Wrong answer at output_line_idx=0: 9 != 333
333
9
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def main():
n = int(input())
print(n*n)
main()Wrong answer at output_line_idx=0: 9 != 333
333
9
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def main():
N = int(input())
print(N*N)
main()Wrong answer at output_line_idx=0: 9 != 333
333
9
TimeoutExceptionYou are given two integers A and B, each between 0 and 9, inclusive. Print any integer between 0 and 9, inclusive, that is not equal to A + B. Input The input is given from Standard Input in the following format: A B Output Print any integer between 0 and 9, inclusive, that is not equal to A + B. Constraints - 0 \leq A \leq 9 - 0 \leq B \leq 9 - A + B \leq 9 - A and B are integers. Sample Input 1 2 5 Sample Output 1 2 When A = 2, B = 5, we have A + B = 7. Thus, printing any of 0, 1, 2, 3, 4, 5, 6, 8, 9 is correct. Sample Input 2 0 0 Sample Output 2 9 Sample Input 3 7 1 Sample Output 3 4
a, b = map(int, input().split())
while True:
if a + b in (a, b):
break
else:
a, b = b, a + b
print(a)Time Limit Exceeded
2
TimeoutExceptionYou are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
if low == high:
return 0
count = 0
for d in range(1, 4):
l, r = low, high
ll, lr, rl, rr = 1, 10, 1, 10
while l // ll >= 10**d or r // rr >= 10**d:
l = l // ll * lr
r = r // rr * rr
l, r = l + 10**d - 1, r - 10**d + 1
for i in range(low, high + 1):
if self.isSymmetric(i, d):
count += 1
return count
return 0
def isSymmetric(self, n, d):
to_count = 10**d - 1
sum_ = 0
while n:
sum_ += n % 10
n //= 10
return sum_ == to_countTime Limit Exceeded
9
TimeoutExceptionYou are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, n, low=0, high=1000, count=0):
if low > high:
return count
for i in range(low, high + 1):
if i // 1000 + i // 100 % 10 == i // 10 % 10 + i % 10:
count += 1
return count + self.countSymmetricIntegers(n, low * 10, high * 10, count)Time Limit Exceeded
9
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
n = int(input()) print(n * str(n)) # or n = input() print(int(n) * n)
Runtime Error
333
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
print(int(input()) * int(input()))
Runtime Error
333
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
print(int(input()) * int(input()))
Runtime Error
333
For a positive integer X, let \text{ctz}(X) be the (maximal) number of consecutive zeros at the end of the binary notation of X.
If the binary notation of X ends with a 1, then \text{ctz}(X)=0.
You are given a positive integer N. Print \text{ctz}(N).
Input
The input is given from Standard Input in the following format:
N
Output
Print \text{ctz}(N).
Constraints
- 1\leq N\leq 10^9
- N is an integer.
Sample Input 1
2024
Sample Output 1
3
2024 is 11111101000 in binary, with three consecutive 0s from the end, so \text{ctz}(2024)=3.
Thus, print 3.
Sample Input 2
18
Sample Output 2
1
18 is 10010 in binary, so \text{ctz}(18)=1.
Note that we count the trailing zeros.
Sample Input 3
5
Sample Output 3
0You are given N pairs of integers (L_1, R_1), (L_2, R_2), \ldots, (L_N, R_N).
Determine whether there exists a sequence of N integers X = (X_1, X_2, \ldots, X_N) that satisfies the following conditions, and print one such sequence if it exists.
- L_i \leq X_i \leq R_i for each i = 1, 2, \ldots, N.
- \displaystyle \sum_{i=1}^N X_i = 0.
Input
The input is given from Standard Input in the following format:
N
L_1 R_1
L_2 R_2
\vdots
L_N R_N
Output
If no solution exists, print No. Otherwise, print an integer sequence X that satisfies the conditions in the following format:
Yes
X_1 X_2 \ldots X_N
If multiple solutions exist, any of them will be considered correct.
Constraints
- 1 \leq N \leq 2 \times 10^5
- -10^9 \leq L_i \leq R_i \leq 10^9
- All input values are integers.
Sample Input 1
3
3 5
-4 1
-2 3
Sample Output 1
Yes
4 -3 -1
The sequence X = (4, -3, -1) satisfies all the conditions. Other valid sequences include (3, -3, 0) and (5, -4, -1).
Sample Input 2
3
1 2
1 2
1 2
Sample Output 2
No
No sequence X satisfies the conditions.
Sample Input 3
6
-87 12
-60 -54
2 38
-76 6
87 96
-17 38
Sample Output 3
Yes
-66 -57 31 -6 89 9A repunit is an integer whose digits are all 1 in decimal representation. The repunits in ascending order are 1, 11, 111, \ldots. Find the N-th smallest integer that can be expressed as the sum of exactly three repunits. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 333, inclusive. Sample Input 1 5 Sample Output 1 113 The integers that can be expressed as the sum of exactly three repunits are 3, 13, 23, 33, 113, \ldots in ascending order. For example, 113 can be expressed as 113 = 1 + 1 + 111. Note that the three repunits do not have to be distinct. Sample Input 2 19 Sample Output 2 2333 Sample Input 3 333 Sample Output 3 112222222233
A non-negative integer n is called a good integer when it satisfies the following condition:
- All digits in the decimal notation of n are even numbers (0, 2, 4, 6, and 8).
For example, 0, 68, and 2024 are good integers.
You are given an integer N. Find the N-th smallest good integer.
Input
The input is given from Standard Input in the following format:
N
Output
Print the N-th smallest good integer.
Constraints
- 1 \leq N \leq 10^{12}
- N is an integer.
Sample Input 1
8
Sample Output 1
24
The good integers in ascending order are 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \dots.
The eighth smallest is 24, which should be printed.
Sample Input 2
133
Sample Output 2
2024
Sample Input 3
31415926535
Sample Output 3
2006628868244228def good_integers(n, limit):
if n < 2:
return 0
limit = 10 ** (limit + 1)
good_n = 0
for i in range(limit):
num = int(str(i).zfill(limit))
found = True
for digit in str(num):
if int(digit) % 2 != 0:
found = False
break
if found:
good_n += 1
return good_n
def main():
n = int(input())
limit = 12
print(good_integers(n, limit))
main()harness timeout
You are given a positive integer D.
Find the minimum value of |x^2+y^2-D| for non-negative integers x and y.
Input
The input is given from Standard Input in the following format:
D
Output
Print the answer.
Constraints
- 1\leq D \leq 2\times 10^{12}
- All input values are integers.
Sample Input 1
21
Sample Output 1
1
For x=4 and y=2, we have |x^2+y^2-D| = |16+4-21|=1.
There are no non-negative integers x and y such that |x^2+y^2-D|=0, so the answer is 1.
Sample Input 2
998244353
Sample Output 2
0
Sample Input 3
264428617
Sample Output 3
32d = int(input())
dp = [0]*(int(2e12)+1)
for i in range(1, int(2e12)+1):
dp[i] = dp[i-1]+1
for j in range(i):
if dp[j] + dp[i-j] < dp[i]:
dp[i] = dp[j] + dp[i-j]
if dp[d]:
print(dp[d]//2)
else:
print(dp[d-1]//2)harness timeout
There is a directed graph with N vertices and M edges. Each edge has two positive integer values: beauty and cost.
For i = 1, 2, \ldots, M, the i-th edge is directed from vertex u_i to vertex v_i, with beauty b_i and cost c_i.
Here, the constraints guarantee that u_i \lt v_i.
Find the maximum value of the following for a path P from vertex 1 to vertex N.
- The total beauty of all edges on P divided by the total cost of all edges on P.
Here, the constraints guarantee that the given graph has at least one path from vertex 1 to vertex N.
Input
The input is given from Standard Input in the following format:
N M
u_1 v_1 b_1 c_1
u_2 v_2 b_2 c_2
\vdots
u_M v_M b_M c_M
Output
Print the answer. Your output will be judged as correct if the relative or absolute error from the true answer is at most 10^{-9}.
Constraints
- 2 \leq N \leq 2 \times 10^5
- 1 \leq M \leq 2 \times 10^5
- 1 \leq u_i \lt v_i \leq N
- 1 \leq b_i, c_i \leq 10^4
- There is a path from vertex 1 to vertex N.
- All input values are integers.
Sample Input 1
5 7
1 2 3 6
1 3 9 5
2 3 1 5
2 4 5 3
2 5 1 9
3 4 4 8
4 5 2 7
Sample Output 1
0.7500000000000000
For the path P that passes through the 2-nd, 6-th, and 7-th edges in this order and visits vertices 1 \rightarrow 3 \rightarrow 4 \rightarrow 5, the total beauty of all edges on P divided by the total cost of all edges on P
is
(b_2 + b_6 + b_7) / (c_2 + c_6 + c_7) = (9 + 4 + 2) / (5 + 8 + 7) = 15 / 20 = 0.75, and this is the maximum possible val
…(truncated)def new():
ok = True
while ok:
try:
n, m = map(int, input().split())
u, v, b, c = [], [], [], []
for _ in range(m):
ui, vi, bi, ci = map(int, input().split())
u.append(ui)
v.append(vi)
b.append(bi)
c.append(ci)
ok = False
except:
pass
return n, m, u, v, b, c
def answer(n, m, u, v, b, c):
n, m, u, v, b, c = new()
graph = [[] for _ in range(n + 1)]
for i in range(m):
graph[u[i]].append((v[i], b[i], c[i]))
INF = 10**9
start = 0
path = []
ans = 0
dist = [INF] * (n + 1)
prev = [0] * (n + 1)
dist[start] = 0
prev[start] = -1
q = [start]
while q:
v = q.pop(0)
if dist[v] == INF:
break
else:
path.append(v)
for next_v, next_b, next_c in graph[v]:
if next_v == path[-1]:
continue
if dist[next_v] > dist[v] + 1:
dist[next_v] = dist[v] + 1
prev[next_v] = v
q.append(next_v)
path.append(start)
if dist[n] == INF:
return 0
ans = dist[n] - 1
for i in range(1, len(path) - 1):
start, end = path[i], path[i + 1]
val = sum(b for b, c in graph[start] if end in v for v, b, c in graph[start]) / sum(
c for b, c in graph[start] if end in v for v, b, c in graph[start])
ans += val
return ans
def main():
n, m, u, v, b, c = new()
print(f'{answer(n, m, u, v, b, c):.9f}')
main()harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 463 | 80.1% |
| timeout | 43 | 7.4% |
| runtime_error | 68 | 11.8% |
| no_code | 4 | 0.7% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 110 | 213 | 140 |
| timeout | 2 | 27 | 14 |
| runtime_error | 13 | 18 | 37 |
| no_code | 4 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 23 | 33.8% |
| ValueError | 21 | 30.9% |
| TypeError | 6 | 8.8% |
| NameError | 4 | 5.9% |
| EOFError | 4 | 5.9% |
| KeyError | 4 | 5.9% |
| RecursionError | 2 | 2.9% |
| UnboundLocalError | 2 | 2.9% |
| ZeroDivisionError | 1 | 1.5% |
| AttributeError | 1 | 1.5% |
You are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
if n == 1:
return 1
if n == 2:
return k - 1 if k % 2 == 0 else k + 1
if n == 3:
return k + 1 if k % 2 == 0 else k - 1
if n == 4:
return k + 1 if k % 2 == 0 else k - 1
if n == 5:
return k + 2 if k % 2 == 0 else k - 2
if n == 6:
return k + 3 if k % 2 == 0 else k - 3
if n == 7:
return k + 4 if k % 2 == 0 else k - 4
if n == 8:
return k + 5 if k % 2 == 0 else k - 5
if n == 9:
return k + 6 if k % 2 == 0 else k - 6
if n == 10:
return k + 7 if k % 2 == 0 else k - 7
if n == 11:
return k + 8 if k % 2 == 0 else k - 8
if n == 12:
return k + 9 if k % 2 == 0 else k - 9
if n == 13:
return k + 10 if k % 2 == 0 else k - 10
if n == 14:
return k + 11 if k % 2 == 0 else k - 11
if n == 15:
return k + 12 if k % 2 == 0 else k - 12
if n == 16:
return k + 13 if k % 2 == 0 else k - 13
if n == 17:
return k + 14 if k % 2 == 0 else k - 14
if n == 18:
return k + 15 if k % 2 == 0 else k - 15
if n == 19:
return k + 16 if k % 2 == 0 else k - 16
if n == 20:
return k + 17 if k % 2 == 0 else k - 17
if n == 21:
return k + 18 if k % 2 == 0 else k - 18
if n == 22:
return k + 19 if k % 2 == 0 else k - 19
if n == 23:
return k + 20 if k % 2 == 0 else k - 20
if n == 24:
return k + 21 if k % 2 == 0 else k - 21
if n == 25:
return k + 22 if k % 2 == 0 else k - 22
if n == 26:
return k + 23 if k % 2 == 0 else k - 23
if n == 27:
return k + 24 if k % 2 == 0 else k - 24
if n == 28:
return k + 25 if k % 2 == 0 else k - 25
if n == 29:
return k + 26 if k % 2 == 0 else k - 26
if n == 30:
return k + 27 if k % 2 == 0 else k - 27
if n == 31:
return k + 28 if k % 2 == 0 else k - 28
if n == 32:
return k + 29 if k % 2 == 0 else k - 29
if n == 33:
return k + 30 if k % 2 == 0 else k - 30
if n == 34:
return k + 31 if k % 2 == 0 else k - 31
if n == 35:
return k + 32 if k % 2 == 0 else k - 32
if n == 36:
return k + 33 if k % 2 == 0 else k - 33
if n == 37:
return k + 34 if k % 2 == 0 else k - 34
if n == 38:
return k + 35 if k % 2 == 0 else k - 35
if n == 39:
return k + 36 if k % 2 == 0 else k - 36
if n == 40:
return k + 37 if k % 2 == 0 else k - 37
if n == 41:
return k + 38 if k % 2 == 0 else k - 38
if n == 42:
return k + 39 if k % 2 == 0 else k - 39
if n == 43:
return k + 40 if k % 2 == 0 else k - 40
if n == 44:
return k + 41 if k % 2 == 0 else k - 41
if n == 45:
return k + 42 if k % 2 == 0 else k - 42
if n == 46:
return k + 43 if k % 2 == 0 else k - 43
if n == 47:
return k + 44 if k % 2 == 0 else k - 44
if n == 48:
return k + 45 if k % 2 == 0 else k - 45
if n == 49:
return k + 46 if k % 2 == 0 else k - 46
if n == 50:
return k + 47 if k % 2 == 0 else k - 47
return 0Wrong Answer
18
6
You are given two integers A and B, each between 0 and 9, inclusive. Print any integer between 0 and 9, inclusive, that is not equal to A + B. Input The input is given from Standard Input in the following format: A B Output Print any integer between 0 and 9, inclusive, that is not equal to A + B. Constraints - 0 \leq A \leq 9 - 0 \leq B \leq 9 - A + B \leq 9 - A and B are integers. Sample Input 1 2 5 Sample Output 1 2 When A = 2, B = 5, we have A + B = 7. Thus, printing any of 0, 1, 2, 3, 4, 5, 6, 8, 9 is correct. Sample Input 2 0 0 Sample Output 2 9 Sample Input 3 7 1 Sample Output 3 4
# YOUR CODE HERE
A, B = map(int, input().split())
for i in range(10):
if i != A + B:
print(i)
breakWrong answer at output_line_idx=0: 0 != 2
2
0
You are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
def is_symmetric(num: int) -> bool:
num_str = str(num)
n = len(num_str) // 2
return num_str[:n] == num_str[n:][::-1]
count = 0
for num in range(low, high + 1):
if len(str(num)) % 2 == 0 and is_symmetric(num):
count += 1
return countWrong Answer
4
1
TimeoutExceptionYou are given a positive integer D.
Find the minimum value of |x^2+y^2-D| for non-negative integers x and y.
Input
The input is given from Standard Input in the following format:
D
Output
Print the answer.
Constraints
- 1\leq D \leq 2\times 10^{12}
- All input values are integers.
Sample Input 1
21
Sample Output 1
1
For x=4 and y=2, we have |x^2+y^2-D| = |16+4-21|=1.
There are no non-negative integers x and y such that |x^2+y^2-D|=0, so the answer is 1.
Sample Input 2
998244353
Sample Output 2
0
Sample Input 3
264428617
Sample Output 3
32# YOUR CODE HERE
import math
def solve():
D = int(input())
ans = float('inf')
for x in range(int(math.sqrt(D)) + 1):
for y in range(int(math.sqrt(D)) + 1):
ans = min(ans, abs(x**2 + y**2 - D))
print(ans)
if __name__ == "__main__":
solve()Time Limit Exceeded
0
TimeoutExceptionYou are given an integer B.
If there exists a positive integer A such that A^A = B, print its value; otherwise, output -1.
Input
The input is given from Standard Input in the following format:
B
Output
If there exists a positive integer A such that A^A = B, print its value; otherwise, print -1.
If there are multiple positive integers A such that A^A = B, any of them will be accepted.
Constraints
- 1 \leq B \leq 10^{18}
- B is an integer.
Sample Input 1
27
Sample Output 1
3
3^3 = 27, so print 3.
Sample Input 2
100
Sample Output 2
-1
There is no A such that A^A = B.
Sample Input 3
10000000000
Sample Output 3
10# YOUR CODE HERE
import math
B = int(input())
for A in range(1, int(math.sqrt(B)) + 1):
if A ** A == B:
print(A)
break
else:
print(-1)Time Limit Exceeded
-1
TimeoutExceptionA positive integer x is called a 321-like Number when it satisfies the following condition. This definition is the same as the one in Problem A. - The digits of x are strictly decreasing from top to bottom. - In other words, if x has d digits, it satisfies the following for every integer i such that 1 \le i < d: - (the i-th digit from the top of x) > (the (i+1)-th digit from the top of x). Note that all one-digit positive integers are 321-like Numbers. For example, 321, 96410, and 1 are 321-like Numbers, but 123, 2109, and 86411 are not. Find the K-th smallest 321-like Number. Input The input is given from Standard Input in the following format: K Output Print the K-th smallest 321-like Number as an integer. Constraints - All input values are integers. - 1 \le K - At least K 321-like Numbers exist. Sample Input 1 15 Sample Output 1 32 The 321-like Numbers are (1,2,3,4,5,6,7,8,9,10,20,21,30,31,32,40,\dots) from smallest to largest. The 15-th smallest of them is 32. Sample Input 2 321 Sample Output 2 9610 Sample Input 3 777 Sample Output 3 983210
# YOUR CODE HERE
import sys
def find_kth_321_like_number(k):
def is_321_like_number(num):
num_str = str(num)
for i in range(len(num_str) - 1):
if num_str[i] <= num_str[i + 1]:
return False
return True
count = 0
num = 1
while True:
if is_321_like_number(num):
count += 1
if count == k:
return num
num += 1
k = int(input())
print(find_kth_321_like_number(k))Time Limit Exceeded
76543210
TypeErrorThere are 7 points A, B, C, D, E, F, and G on a straight line, in this order. (See also the figure below.) The distances between adjacent points are as follows. - Between A and B: 3 - Between B and C: 1 - Between C and D: 4 - Between D and E: 1 - Between E and F: 5 - Between F and G: 9 You are given two uppercase English letters p and q. Each of p and q is A, B, C, D, E, F, or G, and it holds that p \neq q. Find the distance between the points p and q. Input The input is given from Standard Input in the following format: p q Output Print the distance between the points p and q. Constraints - Each of p and q is A,B,C,D,E,F, or G. - p \neq q Sample Input 1 A C Sample Output 1 4 The distance between the points A and C is 3 + 1 = 4. Sample Input 2 G B Sample Output 2 20 The distance between the points G and B is 9 + 5 + 1 + 4 + 1 = 20. Sample Input 3 C F Sample Output 3 10
# YOUR CODE HERE
distances = {
'A': {'B': 3},
'B': {'C': 1, 'A': 3},
'C': {'D': 4, 'B': 1},
'D': {'E': 1, 'C': 4},
'E': {'F': 5, 'D': 1},
'F': {'G': 9, 'E': 5},
'G': {'F': 9}
}
def find_distance(p, q):
if p == q:
return 0
if p > q:
p, q = q, p
return sum(distances[p][q_i] for q_i in range(q, p, -1))
p, q = input().split()
print(find_distance(p, q))Runtime Error
4
ValueErrorTakahashi's cake has been eaten by someone. There are three suspects: person 1, person 2, and person 3. There are two witnesses, Ringo and Snuke. Ringo remembers that person A is not the culprit, and Snuke remembers that person B is not the culprit. Determine if the culprit can be uniquely identified based on the memories of the two witnesses. If the culprit can be identified, print the person's number. Input The input is given from Standard Input in the following format: A B Output If the culprit can be uniquely identified based on the memories of the two witnesses, print the person's number; otherwise, print -1. Constraints - 1 \leq A, B \leq 3 - All input values are integers. Sample Input 1 1 2 Sample Output 1 3 From the memories of the two witnesses, it can be determined that person 3 is the culprit. Sample Input 2 1 1 Sample Output 2 -1 From the memories of the two witnesses, it cannot be determined whether person 2 or person 3 is the culprit. Therefore, print -1. Sample Input 3 3 1 Sample Output 3 2
# YOUR CODE HERE
A, B = map(int, input().split())
culprits = [1, 2, 3]
culprits.remove(A)
culprits.remove(B)
if len(culprits) == 1:
print(culprits[0])
else:
print(-1)Runtime Error
-1
IndexErrorYou are given two integers num1 and num2. In one operation, you can choose integer i in the range [0, 60] and subtract 2^i + num2 from num1. Return the integer denoting the minimum number of operations needed to make num1 equal to 0. If it is impossible to make num1 equal to 0, return -1. Example 1: Input: num1 = 3, num2 = -2 Output: 3 Explanation: We can make 3 equal to 0 with the following operations: - We choose i = 2 and substract 2^2 + (-2) from 3, 3 - (4 + (-2)) = 1. - We choose i = 2 and substract 2^2 + (-2) from 1, 1 - (4 + (-2)) = -1. - We choose i = 0 and substract 2^0 + (-2) from -1, (-1) - (1 + (-2)) = 0. It can be proven, that 3 is the minimum number of operations that we need to perform. Example 2: Input: num1 = 5, num2 = 7 Output: -1 Explanation: It can be proven, that it is impossible to make 5 equal to 0 with the given operation. Constraints: 1 <= num1 <= 10^9 -10^9 <= num2 <= 10^9
class Solution:
def makeTheIntegerZero(self, num1: int, num2: int) -> int:
if num1 < num2:
return -1
dp = [float('inf')] * (num1 + 1)
dp[0] = 0
for i in range(1, 61):
for j in range(num1, num2 - (1 << i), -1):
dp[j] = min(dp[j], dp[j - (1 << i) - num2] + 1)
return dp[num1] if dp[num1] != float('inf') else -1Runtime Error
3
There is a tree with N vertices numbered from 1 to N.
The i-th edge connects vertices A_i and B_i.
Here, N is even, and furthermore, this tree has a perfect matching.
Specifically, for each i (1 \leq i \leq N/2), it is guaranteed that A_i=i \times 2-1 and B_i=i \times 2.
You will perform the following operation N/2 times:
- Choose two leaves (vertices with degree exactly 1) and remove them from the tree.
Here, the tree after removal must still have a perfect matching.
In this problem, we consider a graph with zero vertices to be a tree as well.
For each operation, its score is defined as the distance between the two chosen vertices (the number of edges on the simple path connecting the two vertices).
Show one procedure that maximizes the total score.
It can be proved that there always exists a procedure to complete N/2 operations under the constraints of this problem.
Input
The input is given from Standard Input in the following format:
N
A_1 B_1
A_2 B_2
\vdots
A_{N-1} B_{N-1}
Output
Print a solution in the following format:
X_1 Y_1
X_2 Y_2
\vdots
X_{N/2} Y_{N/2}
Here, X_i and Y_i are the two vertices chosen in the i-th operation.
If there are multiple solutions, you may print any of them.
Constraints
- 2 \leq N \leq 250000
- N is even.
- 1 \leq A_i < B_i \leq N (1 \leq i \leq N-1)
- A_i=i \times 2 -1, B_i=i \times 2 (1 \leq i \leq N/2)
- The given graph is a tree.
- All input values are integers.
Sample Input 1
4
1 2
3 4
2 3
Sample Output 1
4
…(truncated)You are given two numeric strings num1 and num2 and two integers max_sum and min_sum. We denote an integer x to be good if: num1 <= x <= num2 min_sum <= digit_sum(x) <= max_sum. Return the number of good integers. Since the answer may be large, return it modulo 10^9 + 7. Note that digit_sum(x) denotes the sum of the digits of x. Example 1: Input: num1 = "1", num2 = "12", min_sum = 1, max_sum = 8 Output: 11 Explanation: There are 11 integers whose sum of digits lies between 1 and 8 are 1,2,3,4,5,6,7,8,10,11, and 12. Thus, we return 11. Example 2: Input: num1 = "1", num2 = "5", min_sum = 1, max_sum = 5 Output: 5 Explanation: The 5 integers whose sum of digits lies between 1 and 5 are 1,2,3,4, and 5. Thus, we return 5. Constraints: 1 <= num1 <= num2 <= 10^22 1 <= min_sum <= max_sum <= 400
You are given positive integers N, M, K, and a sequence of non-negative integers: A=(A_1,A_2,\ldots,A_N).
For a non-empty non-negative integer sequence B=(B_1,B_2,\ldots,B_{|B|}), we define its score as follows.
- If the length of B is a multiple of M: (B_1 \oplus B_2 \oplus \dots \oplus B_{|B|})^K
- Otherwise: 0
Here, \oplus represents the bitwise XOR.
Find the sum, modulo 998244353, of the scores of the 2^N-1 non-empty subsequences of A.
What is bitwise XOR? The bitwise XOR of non-negative integers A and B, denoted as A \oplus B, is defined as follows: - In the binary representation of A \oplus B, the digit at position 2^k (k \geq 0) is 1 if exactly one of A and B has a 1 in that position in their binary representations, and 0 otherwise. For example, 3 \oplus 5 = 6 (in binary: 011 \oplus 101 = 110). In general, the XOR of k integers p_1, \dots, p_k is defined as (\cdots ((p_1 \oplus p_2) \oplus p_3) \oplus \cdots \oplus p_k), and it can be proved that this is independent of the order of p_1, \dots, p_k.
Input
The input is given from Standard Input in the following format:
N M K
A_1 A_2 \ldots A_N
Output
Print the answer.
Constraints
- 1 \leq N,K \leq 2 \times 10^5
- 1 \leq M \leq 100
- 0 \leq A_i < 2^{20}
- All input values are integers.
Sample Input 1
3 2 2
1 2 3
Sample Output 1
14
Here are the scores of the 2^3-1=7 non-empty subsequences of A.
- (1): 0
- (2): 0
- (3): 0
- (1,2): (1\oplus2)^2=9
- (1,3): (1\oplus3)^2=4
- (2,3): (2\oplus3)^2=1
- (1,2,3): 0
…(truncated)| category | count | % of failures |
|---|---|---|
| wrong_answer | 44871 | 74.6% |
| timeout | 3225 | 5.4% |
| runtime_error | 11993 | 19.9% |
| no_code | 53 | 0.1% |
| harness_timeout | 10 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 11547 | 20656 | 12668 |
| timeout | 290 | 1717 | 1218 |
| runtime_error | 2019 | 4208 | 5766 |
| no_code | 11 | 26 | 16 |
| harness_timeout | 6 | 4 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 4258 | 35.5% |
| ValueError | 2584 | 21.5% |
| TypeError | 1953 | 16.3% |
| NameError | 617 | 5.1% |
| KeyError | 530 | 4.4% |
| EOFError | 522 | 4.4% |
| UnboundLocalError | 386 | 3.2% |
| AttributeError | 365 | 3.0% |
| RecursionError | 340 | 2.8% |
| ZeroDivisionError | 160 | 1.3% |
| StopIteration | 77 | 0.6% |
| RuntimeError | 59 | 0.5% |
| UnsupportedOperation | 55 | 0.5% |
| OverflowError | 37 | 0.3% |
| MemoryError | 16 | 0.1% |
Given a length-3 string S consisting of uppercase English letters, print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Input The input is given from Standard Input in the following format: S Output Print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Constraints - S is a length-3 string consisting of uppercase English letters. Sample Input 1 ABC Sample Output 1 No When S = ABC, S does not equal any of ACE, BDF, CEG, DFA, EGB, FAC, and GBD, so No should be printed. Sample Input 2 FAC Sample Output 2 Yes Sample Input 3 XYX Sample Output 3 No
# YOUR CODE HERE
S = input()
S = ''.join(sorted(S))
if S in ['ace', 'bdf', 'ceg', 'dfa', 'egb', 'fac', 'gbd']:
print('Yes')
else:
print('No')Wrong answer at output_line_idx=0: No != Yes
Yes
No
Given a length-3 string S consisting of uppercase English letters, print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Input The input is given from Standard Input in the following format: S Output Print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Constraints - S is a length-3 string consisting of uppercase English letters. Sample Input 1 ABC Sample Output 1 No When S = ABC, S does not equal any of ACE, BDF, CEG, DFA, EGB, FAC, and GBD, so No should be printed. Sample Input 2 FAC Sample Output 2 Yes Sample Input 3 XYX Sample Output 3 No
# YOUR CODE HERE
s = input()
target_pairs = [
("A", "C"),
("B", "D"),
("C", "E"),
("D", "F"),
("E", "G"),
("F", "A"),
("G", "B")
]
flag = False
for i in range(len(s) - 1):
if s[i] == target_pairs[i][0] and s[i + 1] == target_pairs[i][1]:
flag = True
break
if flag:
print("Yes")
else:
print("No")Wrong answer at output_line_idx=0: No != Yes
Yes
No
You are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
python solution.py
Error during testing: invalid syntax (<string>, line 1)
TimeoutExceptionYou are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
def dfs(n, limit, path, res):
if n == 0:
res.append(path)
return
for i in range(min(limit+1, n+1)):
dfs(n-i, limit, path + [i], res)
res = []
dfs(n, limit, [], res)
return len(res)Time Limit Exceeded
3
TimeoutExceptionYou are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
def count_ways(i, n, limit, path):
if not n:
return 1
if len(path) == 3 and path[0] + path[1] + path[2] == n:
return 1
ways = 0
for j in range(i, limit + 1):
if n - j >= 0:
ways += count_ways(j, n - j, limit, path + [j])
return ways
return count_ways(0, n, limit, [])Time Limit Exceeded
3
TimeoutExceptionYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
start = 1
arr = []
total_sum = 0
while len(arr) < n:
if start + (k - start) not in arr and start + start != k:
arr.append(start)
total_sum += start
start += 1
return total_sumTime Limit Exceeded
18
EOFErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
# Read the inputs from stdin A = int(input().split()[0]) B = int(input().split()[0]) # Calculate A^B and B^A A_power_B = A ** B B_power_A = B ** A # Add the two results together result = A_power_B + B_power_A # Print the result to stdout print(result)
Runtime Error
320
EOFErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
# Read inputs from stdin A = int(input().split()[0]) B = int(input().split()[0]) # Calculate A^B and B^A exp1 = A ** B exp2 = B ** A # Add A^B and B^A, then print the result print(exp1 + exp2)
Runtime Error
320
UnboundLocalErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
# YOUR CODE HERE s = input() n = int(s) * n print(n)
Runtime Error
333
There is a road extending east and west, and N persons are on the road. The road extends infinitely long to the east and west from a point called the origin. The i-th person (1\leq i\leq N) is initially at a position X_i meters east from the origin. The persons can move along the road to the east or west. Specifically, they can perform the following movement any number of times. - Choose one person. If there is no other person at the destination, move the chosen person 1 meter east or west. They have Q tasks in total, and the i-th task (1\leq i\leq Q) is as follows. - The T_i-th person arrives at coordinate G_i. Find the minimum total number of movements required to complete all Q tasks in order. Input The input is given from Standard Input in the following format: N X_1 X_2 \ldots X_N Q T_1 G_1 T_2 G_2 \vdots T_Q G_Q Output Print the answer. Constraints - 1\leq N\leq2\times10^5 - 0\leq X_1 < X_2 < \dotsb < X_N \leq10^8 - 1\leq Q\leq2\times10^5 - 1\leq T_i\leq N\ (1\leq i\leq Q) - 0\leq G_i\leq10^8\ (1\leq i\leq Q) - All input values are integers. Sample Input 1 5 10 20 30 40 50 4 3 45 4 20 1 35 2 60 Sample Output 1 239 An optimal sequence of movements for the persons is as follows (the positions of the persons are not necessarily drawn to scale): For each task, the persons move as follows. - The 4th person moves 6 steps east, and the 3rd person moves 15 steps east. - The 2nd person moves 2 steps west, the 3rd person moves 26 steps west, and the 4th person m …(truncated)
There is a road extending east and west, and N persons are on the road. The road extends infinitely long to the east and west from a point called the origin. The i-th person (1\leq i\leq N) is initially at a position X_i meters east from the origin. The persons can move along the road to the east or west. Specifically, they can perform the following movement any number of times. - Choose one person. If there is no other person at the destination, move the chosen person 1 meter east or west. They have Q tasks in total, and the i-th task (1\leq i\leq Q) is as follows. - The T_i-th person arrives at coordinate G_i. Find the minimum total number of movements required to complete all Q tasks in order. Input The input is given from Standard Input in the following format: N X_1 X_2 \ldots X_N Q T_1 G_1 T_2 G_2 \vdots T_Q G_Q Output Print the answer. Constraints - 1\leq N\leq2\times10^5 - 0\leq X_1 < X_2 < \dotsb < X_N \leq10^8 - 1\leq Q\leq2\times10^5 - 1\leq T_i\leq N\ (1\leq i\leq Q) - 0\leq G_i\leq10^8\ (1\leq i\leq Q) - All input values are integers. Sample Input 1 5 10 20 30 40 50 4 3 45 4 20 1 35 2 60 Sample Output 1 239 An optimal sequence of movements for the persons is as follows (the positions of the persons are not necessarily drawn to scale): For each task, the persons move as follows. - The 4th person moves 6 steps east, and the 3rd person moves 15 steps east. - The 2nd person moves 2 steps west, the 3rd person moves 26 steps west, and the 4th person m …(truncated)
You are given a permutation P=(P_1,P_2,\dots,P_N) of (1,2,\dots,N).
Consider the following operations k\ (k=2,3,\dots,N) on this permutation.
- Operation k: For i=1,2,\dots,k-1 in this order, if P_i > P_{i+1}, swap the values of the i-th and (i+1)-th elements of P.
You are also given a non-decreasing sequence A=(A_1,A_2,\dots,A_M)\ (2 \leq A_i \leq N) of length M.
For each i=1,2,\dots,M, find the inversion number of P after applying the operations A_1, A_2, \dots, A_i in this order.
What is the inversion number of a sequence?
The inversion number of a sequence x=(x_1,x_2,\dots,x_n) of length n is the number of pairs of integers (i,j)\ (1\leq i < j \leq n) such that x_i > x_j.
Input
The input is given from Standard Input in the following format:
N
P_1 P_2 \dots P_N
M
A_1 A_2 \dots A_M
Output
Print M lines. The k-th line should contain the answer to the problem for i=k.
Constraints
- 2 \leq N \leq 2 \times 10^5
- 1 \leq M \leq 2 \times 10^5
- 2 \leq A_i \leq N
- P is a permutation of (1,2,\dots,N).
- A_i \leq A_{i+1} for i=1,2,\dots,M-1.
- All input values are integers.
Sample Input 1
6
3 2 4 1 6 5
2
4 6
Sample Output 1
3
1
First, operation 4 is performed. During this, P changes as follows: (3,2,4,1,6,5) \rightarrow (2,3,4,1,6,5) \rightarrow (2,3,4,1,6,5) \rightarrow (2,3,1,4,6,5). The inversion number of P afterward is 3.
Next, operation 6 is performed, where P eventually becomes (2,1,3,4,5,6), whose inversion number is 1.
Sample Input 2
20
12 14
…(truncated)A repunit is an integer whose digits are all 1 in decimal representation. The repunits in ascending order are 1, 11, 111, \ldots. Find the N-th smallest integer that can be expressed as the sum of exactly three repunits. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 333, inclusive. Sample Input 1 5 Sample Output 1 113 The integers that can be expressed as the sum of exactly three repunits are 3, 13, 23, 33, 113, \ldots in ascending order. For example, 113 can be expressed as 113 = 1 + 1 + 111. Note that the three repunits do not have to be distinct. Sample Input 2 19 Sample Output 2 2333 Sample Input 3 333 Sample Output 3 112222222233
# YOUR CODE HERE
def sum_of_repunits(n):
count = 0
repunit_sum = 0
repunit_num = 1
while count < n:
for _ in range(3):
repunit_sum += repunit_num
if repunit_sum <= n:
count += 1
repunit_num = int('1' * (repunit_num + 1))
repunit_sum = 0
return repunit_num - 1
n = int(input())
print(sum_of_repunits(n))
harness timeout
We call a positive integer n a good integer if and only if the sum of its positive divisors is divisible by 3.
You are given two positive integers N and M. Find the number, modulo 998244353, of length-M sequences A of positive integers such that the product of the elements in A is a good integer not exceeding N.
Input
The input is given from Standard Input in the following format:
N M
Output
Print the answer.
Constraints
- 1 \leq N \leq 10^{10}
- 1 \leq M \leq 10^5
- N and M are integers.
Sample Input 1
10 1
Sample Output 1
5
There are five sequences that satisfy the conditions:
- (2)
- (5)
- (6)
- (8)
- (10)
Sample Input 2
4 2
Sample Output 2
2
There are two sequences that satisfy the conditions:
- (1, 2)
- (2, 1)
Sample Input 3
370 907
Sample Output 3
221764640
Sample Input 4
10000000000 100000
Sample Output 4
447456146MAX_N = 10**10 + 10
MOD = 998244353
factor_sum = [0] * (MAX_N + 1)
factor_sum[1] = 1
squares = [0] * (MAX_N + 1)
for i in range(1, MAX_N + 1):
if factor_sum[i]:
continue
for j in range(i, MAX_N + 1, i):
squares[j] += 1
factor_sum[j] += i
if factor_sum[j] % 3 == 0:
squares[j] -= 1
dp = [0] * (MAX_N + 1)
dp[1] = 1
for i in range(2, MAX_N + 1):
dp[i] = (dp[i - 1] * squares[i] + dp[i // 3]) % MOD
def solve():
N, M = map(int, input().split())
ans = 0
for i in range(M, 0, -1):
ans = (ans + dp[N // (3 ** i)] * (N // (3 ** i)) % MOD) % MOD
print(ans)
# YOUR CODE HERE
if __name__ == "__main__":
solve()harness timeout
You are given a 0-indexed integer array nums containing n distinct positive integers. A permutation of nums is called special if: For all indexes 0 <= i < n - 1, either nums[i] % nums[i+1] == 0 or nums[i+1] % nums[i] == 0. Return the total number of special permutations. As the answer could be large, return it modulo 10^9 + 7. Example 1: Input: nums = [2,3,6] Output: 2 Explanation: [3,6,2] and [2,6,3] are the two special permutations of nums. Example 2: Input: nums = [1,4,3] Output: 2 Explanation: [3,1,4] and [4,1,3] are the two special permutations of nums. Constraints: 2 <= nums.length <= 14 1 <= nums[i] <= 10^9
from typing import List
import itertools
class Solution:
def specialPerm(self, nums: List[int]) -> int:
MOD = 10**9 + 7
count = self._getSpecialPermutations(nums)
return count % MOD
def _getSpecialPermutations(self, nums):
def isSpecialPermutation(permutation):
for i in range(len(permutation) - 1):
if permutation[i] % permutation[i+1] != 0 and permutation[i+1] % permutation[i] != 0:
return False
return True
perms = list(itertools.permutations(nums))
count = 0
for perm in perms:
if isSpecialPermutation(perm):
count += 1
return countharness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 432 | 61.5% |
| timeout | 7 | 1.0% |
| runtime_error | 264 | 37.6% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 142 | 182 | 108 |
| timeout | 4 | 3 | |
| runtime_error | 84 | 93 | 87 |
| exception | count | % of runtime |
|---|---|---|
| ValueError | 172 | 65.2% |
| IndexError | 46 | 17.4% |
| EOFError | 21 | 8.0% |
| TypeError | 16 | 6.1% |
| NameError | 5 | 1.9% |
| RecursionError | 4 | 1.5% |
You are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
return sum(range(1, k + 1)) * (n - 1) + sum(range(k + 1, n + 1)) * (n - k - 1)Wrong Answer
18
40
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def main():
n = int(input())
print("".join([str(i) for i in range(1, n + 1)]))
main()Wrong answer at output_line_idx=0: 123 != 333
333
123
You are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
return len(set(range(1, n + 1)) & set(range(1, limit + 1)))Wrong Answer
3
2
TimeoutExceptionYou are given N intervals of real numbers. The i-th (1 \leq i \leq N) interval is [l_i, r_i]. Find the number of pairs (i, j)\,(1 \leq i < j \leq N) such that the i-th and j-th intervals intersect. Input The input is given from Standard Input in the following format: N l_1 r_1 l_2 r_2 \vdots l_N r_N Output Print the answer. Constraints - 2 \leq N \leq 5 \times 10^5 - 0 \leq l_i < r_i \leq 10^9 - All input values are integers. Sample Input 1 3 1 5 7 8 3 7 Sample Output 1 2 The given intervals are [1,5], [7,8], [3,7]. Among these, the 1-st and 3-rd intervals intersect, as well as the 2-nd and 3-rd intervals, so the answer is 2. Sample Input 2 3 3 4 2 5 1 6 Sample Output 2 3 Sample Input 3 2 1 2 3 4 Sample Output 3 0
def count_intersections(n, intervals):
count = 0
for i in range(n):
for j in range(i+1, n):
if intervals[i][0] <= intervals[j][1] and intervals[j][0] <= intervals[i][1]:
count += 1
return count
def main():
n = int(input())
intervals = []
for _ in range(n):
l, r = map(int, input().split())
intervals.append([l, r])
print(count_intersections(n, intervals))
main()Time Limit Exceeded
124999750000
TimeoutExceptionYou are given an undirected graph G with N vertices and M edges.
For i = 1, 2, \ldots, M, the i-th edge is an undirected edge connecting vertices u_i and v_i.
A graph with N vertices is called good if the following condition holds for all i = 1, 2, \ldots, K:
- there is no path connecting vertices x_i and y_i in G.
The given graph G is good.
You are given Q independent questions. Answer all of them.
For i = 1, 2, \ldots, Q, the i-th question is as follows.
- Is the graph G^{(i)} obtained by adding an undirected edge connecting vertices p_i and q_i to the given graph G good?
Input
The input is given from Standard Input in the following format:
N M
u_1 v_1
u_2 v_2
\vdots
u_M v_M
K
x_1 y_1
x_2 y_2
\vdots
x_K y_K
Q
p_1 q_1
p_2 q_2
\vdots
p_Q q_Q
Output
Print Q lines.
For i = 1, 2, \ldots, Q, the i-th line should contain the answer to the i-th question: Yes if the graph G^{(i)} is good, and No otherwise.
Constraints
- 2 \leq N \leq 2 \times 10^5
- 0 \leq M \leq 2 \times10^5
- 1 \leq u_i, v_i \leq N
- 1 \leq K \leq 2 \times 10^5
- 1 \leq x_i, y_i \leq N
- x_i \neq y_i
- i \neq j \implies \lbrace x_i, y_i \rbrace \neq \lbrace x_j, y_j \rbrace
- For all i = 1, 2, \ldots, K, there is no path connecting vertices x_i and y_i.
- 1 \leq Q \leq 2 \times 10^5
- 1 \leq p_i, q_i \leq N
- p_i \neq q_i
- All input values are integers.
Sample Input 1
6 6
1 2
2 3
2 3
3 1
5 4
5 5
3
1 5
2 6
4 3
4
2 5
2 6
5 6
5 4
Sample Output 1
No
No
Yes
Yes
- For
…(truncated)def main():
n, m = map(int, input().split())
g = [[] for _ in range(n)]
for _ in range(m):
u, v = map(int, input().split())
g[u].append(v)
g[v].append(u)
for i in range(n):
for j in g[i]:
if i != j:
g[i].append(j)
for i in range(n):
for j in g[i]:
if i != j:
g[i].remove(j)
for i in range(n):
if len(g[i]) == 1:
print("No")
else:
print("Yes")
main()Time Limit Exceeded
No No Yes Yes
TimeoutExceptionAtCoder cafeteria offers N main dishes and M side dishes. The price of the i-th main dish is A_i, and that of the j-th side dish is B_j. The cafeteria is considering introducing a new set meal menu. A set meal consists of one main dish and one side dish. Let s be the sum of the prices of the main dish and the side dish, then the price of the set meal is \min(s,P). Here, P is a constant given in the input. There are NM ways to choose a main dish and a side dish for a set meal. Find the total price of all these set meals. Input The input is given from Standard Input in the following format: N M P A_1 A_2 \dots A_N B_1 B_2 \dots B_M Output Print the answer as an integer. Under the constraints of this problem, it can be proved that the answer fits into a 64-bit signed integer. Constraints - 1\leq N,M \leq 2\times 10^5 - 1\leq A_i,B_j \leq 10^8 - 1\leq P \leq 2\times 10^8 - All input values are integers. Sample Input 1 2 2 7 3 5 6 1 Sample Output 1 24 - If you choose the first main dish and the first side dish, the price of the set meal is \min(3+6,7)=7. - If you choose the first main dish and the second side dish, the price of the set meal is \min(3+1,7)=4. - If you choose the second main dish and the first side dish, the price of the set meal is \min(5+6,7)=7. - If you choose the second main dish and the second side dish, the price of the set meal is \min(5+1,7)=6. Thus, the answer is 7+4+7+6=24. Sample Input 2 1 3 2 1 1 1 1 Sample Output 2 6 Sample …(truncated)
def main():
n, m, p = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
ans = 0
for i in range(n):
for j in range(m):
ans += min(a[i] + b[j], p)
print(ans)
main()Time Limit Exceeded
25527969701142671
ValueErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
def power(a, b):
if b == 0:
return 1
if b == 1:
return a
return power(a, b-1) * a
def main():
t = int(input())
for _ in range(t):
a, b = map(int, input().split())
print(power(a, b))
main()Runtime Error
320
ValueErrorGiven a length-3 string S consisting of uppercase English letters, print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Input The input is given from Standard Input in the following format: S Output Print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Constraints - S is a length-3 string consisting of uppercase English letters. Sample Input 1 ABC Sample Output 1 No When S = ABC, S does not equal any of ACE, BDF, CEG, DFA, EGB, FAC, and GBD, so No should be printed. Sample Input 2 FAC Sample Output 2 Yes Sample Input 3 XYX Sample Output 3 No
def is_valid(s):
if len(s) != 3:
return False
if s[0] != 'A' and s[0] != 'B' and s[0] != 'C':
return False
if s[1] != 'D' and s[1] != 'E' and s[1] != 'F':
return False
if s[2] != 'G' and s[2] != 'B' and s[2] != 'D':
return False
return True
def main():
t = int(input())
for _ in range(t):
s = input()
if is_valid(s):
print("Yes")
else:
print("No")
main()Runtime Error
No
ValueErrorWe have the following 3 \times 3 board with integers from 1 through 9 written on it. You are given two integers A and B between 1 and 9, where A < B. Determine if the two squares with A and B written on them are adjacent horizontally. Input The input is given from Standard Input in the following format: A B Output Print Yes if the two squares with A and B written on them are adjacent horizontally, and No otherwise. Constraints - 1 \le A < B \le 9 - A and B are integers. Sample Input 1 7 8 Sample Output 1 Yes The two squares with 7 and 8 written on them are adjacent horizontally, so print Yes. Sample Input 2 1 9 Sample Output 2 No Sample Input 3 3 4 Sample Output 3 No
def adjacent_horizontal(squares):
for i in range(1, len(squares)):
if squares[i] == squares[i-1] + 1:
return True
return False
def main():
t = int(input())
for _ in range(t):
n = int(input())
squares = list(map(int, input().split()))
print(adjacent_horizontal(squares))
main()Runtime Error
Yes
| category | count | % of failures |
|---|---|---|
| wrong_answer | 34811 | 48.9% |
| timeout | 753 | 1.1% |
| runtime_error | 35549 | 50.0% |
| compile_error | 2 | 0.0% |
| no_code | 1 | 0.0% |
| harness_timeout | 11 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 12347 | 14721 | 7743 |
| timeout | 231 | 348 | 174 |
| runtime_error | 10953 | 12717 | 11879 |
| compile_error | 1 | 1 | |
| no_code | 1 | ||
| harness_timeout | 2 | 7 | 2 |
| exception | count | % of runtime |
|---|---|---|
| ValueError | 19002 | 53.5% |
| TypeError | 5078 | 14.3% |
| IndexError | 4200 | 11.8% |
| EOFError | 2386 | 6.7% |
| NameError | 2331 | 6.6% |
| AttributeError | 678 | 1.9% |
| UnboundLocalError | 628 | 1.8% |
| RecursionError | 373 | 1.0% |
| KeyError | 344 | 1.0% |
| FileNotFoundError | 243 | 0.7% |
| ZeroDivisionError | 181 | 0.5% |
| AssertionError | 47 | 0.1% |
| OverflowError | 12 | 0.0% |
| RuntimeError | 12 | 0.0% |
| StopIteration | 10 | 0.0% |
You are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
ans = [0] * (n + 1)
ans[n] = k
for i in range(n - 1):
for j in range(i + 1, n):
ans[i + 1] = min(ans[i + 1], ans[i] + k)
return ans[0]Wrong Answer
18
0
You are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
return (n - 1) * (k - 1) + 4 * k - 2Wrong Answer
18
26
You are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def k AVRing (self, n: int, k: int) -> int:
return sum([i for i in range(1, n + 1) if sum([j for j in range(1, i + 1) if j not in {i, k}]) == k])Error during testing: expected '(' (<string>, line 39)TimeoutExceptionYou are given two integers A and B, each between 0 and 9, inclusive. Print any integer between 0 and 9, inclusive, that is not equal to A + B. Input The input is given from Standard Input in the following format: A B Output Print any integer between 0 and 9, inclusive, that is not equal to A + B. Constraints - 0 \leq A \leq 9 - 0 \leq B \leq 9 - A + B \leq 9 - A and B are integers. Sample Input 1 2 5 Sample Output 1 2 When A = 2, B = 5, we have A + B = 7. Thus, printing any of 0, 1, 2, 3, 4, 5, 6, 8, 9 is correct. Sample Input 2 0 0 Sample Output 2 9 Sample Input 3 7 1 Sample Output 3 4
from random import randint
def generate():
A = randint(0, 9)
B = randint(0, 9)
A1 = int(A)
B1 = int(B)
if A1+B1 in range(10):
return A1, B1
else:
A2 = randint(0, 9)
B2 = randint(0, 9)
A3 = int(A2)
B3 = int(B2)
if A3+B3 not in range(10):
A1, B1 = A2, B2
A3, B3 = B1, A1
return A1, B1
while True:
A, B = generate()
result = 0
for i in range(10):
result = result * 10 + A + B - i
if result != A+B:
print(A+B, end=" ")
print(result)Time Limit Exceeded
2
TimeoutExceptionYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
import math
def main():
a, b = input().split()
a = int(a)
b = int(b)
a_pow, b_pow = 0, 0
while a != 0:
a, rem = divmod(a, 10)
a_pow += rem
b_pow += b
b -= rem
while b != 0:
b, rem = divmod(b, 10)
b_pow += rem
b -= rem
print(a_pow, b_pow)
main()Time Limit Exceeded
320
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
import timeit
from collections import defaultdict, Counter
from itertools import permutations
def solution(n):
if 326 <= n <= 919:
num = 326
else:
num = n
nums = [num]
while True:
for p in permutations(nums, 2):
if (max(p[0] * 100, p[1]) == p[2] and
max(p[1] * 10, p[2]) == p[0] and
max(p[0] * 1, p[1]) == p[2]):
return n
elif ((max(p[0] * 100, p[1]) == p[2] and
max(p[0] * 10, p[2]) == p[1]) or
(max(p[1] * 100, p[2]) == p[0] and
max(p[0] * 10, p[2]) == p[1]) or
(max(p[0] * 1, p[2]) == p[1] and
max(p[0] * 100, p[1]) == p[2])):
nums.append(num)
break
nums.sort()
if len(nums) == 2:
nums.pop()
break
return None
def main():
startTime = timeit.default_timer()
solution(326)
stopTime = timeit.default_timer()
print(f'Answer: {stopTime - startTime}')
if __name__ == '__main__':
main()Time Limit Exceeded
326
IndexErrorYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
left = [0] * (k + 1)
right = [0] * (k + 1)
for i in range(1, n + 1):
left[i % k + 1], right[i % k + 1] = 1, 1
return sum([left[i] * right[i - k] for i in range(k + 1, n + 1)])Runtime Error
18
AttributeErrorYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
ans = 1 << 60
for i in range(k):
ans = min(ans, self.number(n - i) * (n - i))
return ansRuntime Error
18
TypeErrorYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
return sum([range(n)[i] for i in range(n)] + [range(k - 1)])Runtime Error
18
SystemExitYou are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, a: int, b: int) -> int:
return (max(a, b) // max(a, b)) * 2 - min(a, b)
## Tests
import unittest
class TestSolution(unittest.TestCase):
def test(self, a, b):
print("Test Question", a, b)
out = Solution().equalTriplets([1,1,1,1,1,1,1,1])
self.assertEqual(out, a)
out = Solution().unqTriplets([1,1,1,1,1,1])
self.assertEqual(out, b)
unittest.main()SystemExit: SystemExit(2)
SystemExitYou are given an integer mountainHeight denoting the height of a mountain. You are also given an integer array workerTimes representing the work time of workers in seconds. The workers work simultaneously to reduce the height of the mountain. For worker i: To decrease the mountain's height by x, it takes workerTimes[i] + workerTimes[i] * 2 + ... + workerTimes[i] * x seconds. For example: To reduce the height of the mountain by 1, it takes workerTimes[i] seconds. To reduce the height of the mountain by 2, it takes workerTimes[i] + workerTimes[i] * 2 seconds, and so on. Return an integer representing the minimum number of seconds required for the workers to make the height of the mountain 0. Example 1: Input: mountainHeight = 4, workerTimes = [2,1,1] Output: 3 Explanation: One way the height of the mountain can be reduced to 0 is: Worker 0 reduces the height by 1, taking workerTimes[0] = 2 seconds. Worker 1 reduces the height by 2, taking workerTimes[1] + workerTimes[1] * 2 = 3 seconds. Worker 2 reduces the height by 1, taking workerTimes[2] = 1 second. Since they work simultaneously, the minimum time needed is max(2, 3, 1) = 3 seconds. Example 2: Input: mountainHeight = 10, workerTimes = [3,2,2,4] Output: 12 Explanation: Worker 0 reduces the height by 2, taking workerTimes[0] + workerTimes[0] * 2 = 9 seconds. Worker 1 reduces the height by 3, taking workerTimes[1] + workerTimes[1] * 2 + workerTimes[1] * 3 = 12 seconds. Worker 2 reduces the height by 3, taking wo …(truncated)
class Solution:
def minNumberOfSeconds(self, mountainHeight: int, workerTimes: List[int]) -> int:
# counting all the pairs of elements which are less than the mountainHeight
count = 0
for i in range(len(workerTimes)):
for j in range(i + 1, len(workerTimes)):
if workerTimes[i] + workerTimes[j] < mountainHeight:
count += 1
return (count * (count - 1)) // 2
## Unit tests
import unittest
class TestSolution(unittest.TestCase):
def assertSolution(self, solution: Solution, input: List[int], expected: int):
input_ans = solution.unequalTriplets(input)
self.assertEqual(input_ans, expected)
def test_solution(self):
solution = Solution()
input = [4,4,2,4,3]
expected = 3
self.assertSolution(solution, input, expected)
input = [1,1,1,1,1]
expected = 0
self.assertSolution(solution, input, expected)
unittest.main(verbosity=2)SystemExit: SystemExit(2)
For a non-negative integer K, we define a level-K carpet as follows:
- A level-0 carpet is a 1 \times 1 grid consisting of a single black cell.
- For K > 0, a level-K carpet is a 3^K \times 3^K grid. When this grid is divided into nine 3^{K-1} \times 3^{K-1} blocks:
- The central block consists entirely of white cells.
- The other eight blocks are level-(K-1) carpets.
You are given a non-negative integer N.
Print a level-N carpet according to the specified format.
Input
The input is given from Standard Input in the following format:
N
Output
Print 3^N lines.
The i-th line (1 \leq i \leq 3^N) should contain a string S_i of length 3^N consisting of . and #.
The j-th character of S_i (1 \leq j \leq 3^N) should be # if the cell at the i-th row from the top and j-th column from the left of a level-N carpet is black, and . if it is white.
Constraints
- 0 \leq N \leq 6
- N is an integer.
Sample Input 1
1
Sample Output 1
###
#.#
###
A level-1 carpet is a 3 \times 3 grid as follows:
When output according to the specified format, it looks like the sample output.
Sample Input 2
2
Sample Output 2
#########
#.##.##.#
#########
###...###
#.#...#.#
###...###
#########
#.##.##.#
#########
A level-2 carpet is a 9 \times 9 grid.A non-negative integer n is called a good integer when it satisfies the following condition:
- All digits in the decimal notation of n are even numbers (0, 2, 4, 6, and 8).
For example, 0, 68, and 2024 are good integers.
You are given an integer N. Find the N-th smallest good integer.
Input
The input is given from Standard Input in the following format:
N
Output
Print the N-th smallest good integer.
Constraints
- 1 \leq N \leq 10^{12}
- N is an integer.
Sample Input 1
8
Sample Output 1
24
The good integers in ascending order are 0, 2, 4, 6, 8, 20, 22, 24, 26, 28, \dots.
The eighth smallest is 24, which should be printed.
Sample Input 2
133
Sample Output 2
2024
Sample Input 3
31415926535
Sample Output 3
2006628868244228def findGreatest(n):
dp = [0] * (n + 1)
for i in range(1, n + 1):
for j in range(1, i + 1):
if i % j == 0:
dp[i] = max(dp[i], dp[j] + dp[i // j])
return dp[n]
print(findGreatest(8)) # 24
print(findGreatest(133)) # 2024
print(findGreatest(31415926535)) # 2006628868244228harness timeout
You are given a positive integer N.
If there are integers x and y such that N=2^x3^y, print Yes; otherwise, print No.
Input
The input is given from Standard Input in the following format:
N
Output
Print a single line containing Yes if there are integers x and y that satisfy the condition, and No otherwise.
Constraints
- 1\leq N\leq10^{18}
- N is an integer.
Sample Input 1
324
Sample Output 1
Yes
For x=2,y=4, we have 2^x3^y=2^23^4=4\times81=324, so the condition is satisfied.
Thus, you should print Yes.
Sample Input 2
5
Sample Output 2
No
There are no integers x and y such that 2^x3^y=5.
Thus, you should print No.
Sample Input 3
32
Sample Output 3
Yes
For x=5,y=0, we have 2^x3^y=32\times1=32, so you should print Yes.
Sample Input 4
37748736
Sample Output 4
Yesfrom itertools import permutations
def main():
for i in permutations(range(1, 10**9+1), 8):
n = 2 ** i[0] * 3 ** i[1]
if n == 2 ** i[2] * 3 ** i[3]:
print('Yes')
return
print('No')
if __name__ == '__main__':
main()harness timeout
You are given permutations P = (P_1, P_2, \ldots, P_N) and A = (A_1, A_2, \ldots, A_N) of (1,2,\ldots,N).
You can perform the following operation any number of times, possibly zero:
- replace A_i with A_{P_i} simultaneously for all i=1,2,\ldots,N.
Print the lexicographically smallest A that can be obtained.
What is lexicographical order?
For sequences of length N, A = (A_1, A_2, \ldots, A_N) and B = (B_1, B_2, \ldots, B_N), A is lexicographically smaller than B if and only if:
- there exists an integer i\ (1\leq i\leq N) such that A_i < B_i, and A_j = B_j for all 1\leq j < i.
Input
The input is given from Standard Input in the following format:
N
P_1 P_2 \ldots P_N
A_1 A_2 \ldots A_N
Output
Let (A_1, A_2, \ldots, A_N) be the lexicographically smallest A that can be obtained. Print A_1, A_2, \ldots, A_N in this order, separated by spaces, in one line.
Constraints
- 1\leq N\leq2\times10^5
- 1\leq P_i\leq N\ (1\leq i\leq N)
- P_i\neq P_j\ (1\leq i<j\leq N)
- 1\leq A_i\leq N\ (1\leq i\leq N)
- A_i\neq A_j\ (1\leq i<j\leq N)
- All input values are integers.
Sample Input 1
6
3 1 5 6 2 4
4 3 1 6 2 5
Sample Output 1
1 4 2 5 3 6
Initially, A = (4, 3, 1, 6, 2, 5).
Repeating the operation yields the following.
- A = (1, 4, 2, 5, 3, 6)
- A = (2, 1, 3, 6, 4, 5)
- A = (3, 2, 4, 5, 1, 6)
- A = (4, 3, 1, 6, 2, 5)
After this, A will revert to the original state every four operations.
Therefore, print the lexicographically smallest among these, which is 1 4 2 5 3 6.
Sam
…(truncated)from itertools import permutations, combinations
for p, a in combinations(permutations(range(1, 27)), 2):
if a[0] != a[1]:
print(a[0], a[1], end=" ")harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 425 | 76.3% |
| timeout | 49 | 8.8% |
| runtime_error | 83 | 14.9% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 100 | 187 | 138 |
| timeout | 2 | 28 | 19 |
| runtime_error | 14 | 31 | 38 |
| exception | count | % of runtime |
|---|---|---|
| ValueError | 36 | 43.4% |
| IndexError | 22 | 26.5% |
| TypeError | 11 | 13.3% |
| EOFError | 7 | 8.4% |
| UnboundLocalError | 3 | 3.6% |
| NameError | 2 | 2.4% |
| ZeroDivisionError | 1 | 1.2% |
| KeyError | 1 | 1.2% |
You are given two integers A and B, each between 0 and 9, inclusive. Print any integer between 0 and 9, inclusive, that is not equal to A + B. Input The input is given from Standard Input in the following format: A B Output Print any integer between 0 and 9, inclusive, that is not equal to A + B. Constraints - 0 \leq A \leq 9 - 0 \leq B \leq 9 - A + B \leq 9 - A and B are integers. Sample Input 1 2 5 Sample Output 1 2 When A = 2, B = 5, we have A + B = 7. Thus, printing any of 0, 1, 2, 3, 4, 5, 6, 8, 9 is correct. Sample Input 2 0 0 Sample Output 2 9 Sample Input 3 7 1 Sample Output 3 4
def main():
A, B = map(int, input().split())
print((A + B) % 10)
main()Wrong answer at output_line_idx=0: 7 != 2
2
7
Given two positive integers n and x. Return the number of ways n can be expressed as the sum of the x^th power of unique positive integers, in other words, the number of sets of unique integers [n_1, n_2, ..., n_k] where n = n_1^x + n_2^x + ... + n_k^x. Since the result can be very large, return it modulo 10^9 + 7. For example, if n = 160 and x = 3, one way to express n is n = 2^3 + 3^3 + 5^3. Example 1: Input: n = 10, x = 2 Output: 1 Explanation: We can express n as the following: n = 3^2 + 1^2 = 10. It can be shown that it is the only way to express 10 as the sum of the 2^nd power of unique integers. Example 2: Input: n = 4, x = 1 Output: 2 Explanation: We can express n in the following ways: - n = 4^1 = 4. - n = 3^1 + 1^1 = 4. Constraints: 1 <= n <= 300 1 <= x <= 5
class Solution:
def numberOfWays(self, n: int, x: int) -> int:
MOD = 10**9 + 7
dp = [0] * (n + 1)
dp[0] = 1
for i in range(1, n + 1):
for j in range(1, i + 1):
if j ** x <= i:
dp[i] += dp[i - j ** x]
dp[i] %= MOD
return dp[n]Wrong Answer
1
16
A repunit is an integer whose digits are all 1 in decimal representation. The repunits in ascending order are 1, 11, 111, \ldots. Find the N-th smallest integer that can be expressed as the sum of exactly three repunits. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 333, inclusive. Sample Input 1 5 Sample Output 1 113 The integers that can be expressed as the sum of exactly three repunits are 3, 13, 23, 33, 113, \ldots in ascending order. For example, 113 can be expressed as 113 = 1 + 1 + 111. Note that the three repunits do not have to be distinct. Sample Input 2 19 Sample Output 2 2333 Sample Input 3 333 Sample Output 3 112222222233
def repunit(n):
return int('1' * n)
def sum_of_three_repunits(n):
return repunit(n) + repunit(n) + repunit(n)
def main():
n = int(input())
print(sum_of_three_repunits(n))
main()Wrong answer at output_line_idx=0: 33333 != 113
113
33333
TimeoutExceptionYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
ans = 0
i = 1
while n > 0:
if k - i > i:
ans += i
n -= 1
i += 1
return ansTime Limit Exceeded
18
TimeoutExceptionYou are given an integer B.
If there exists a positive integer A such that A^A = B, print its value; otherwise, output -1.
Input
The input is given from Standard Input in the following format:
B
Output
If there exists a positive integer A such that A^A = B, print its value; otherwise, print -1.
If there are multiple positive integers A such that A^A = B, any of them will be accepted.
Constraints
- 1 \leq B \leq 10^{18}
- B is an integer.
Sample Input 1
27
Sample Output 1
3
3^3 = 27, so print 3.
Sample Input 2
100
Sample Output 2
-1
There is no A such that A^A = B.
Sample Input 3
10000000000
Sample Output 3
10def find_integer(B):
for A in range(1, int(B**0.5) + 1):
if A**A == B:
return A
return -1
def main():
B = int(input())
result = find_integer(B)
print(result)
main()Time Limit Exceeded
-1
TimeoutExceptionYou are given N intervals of real numbers. The i-th (1 \leq i \leq N) interval is [l_i, r_i]. Find the number of pairs (i, j)\,(1 \leq i < j \leq N) such that the i-th and j-th intervals intersect. Input The input is given from Standard Input in the following format: N l_1 r_1 l_2 r_2 \vdots l_N r_N Output Print the answer. Constraints - 2 \leq N \leq 5 \times 10^5 - 0 \leq l_i < r_i \leq 10^9 - All input values are integers. Sample Input 1 3 1 5 7 8 3 7 Sample Output 1 2 The given intervals are [1,5], [7,8], [3,7]. Among these, the 1-st and 3-rd intervals intersect, as well as the 2-nd and 3-rd intervals, so the answer is 2. Sample Input 2 3 3 4 2 5 1 6 Sample Output 2 3 Sample Input 3 2 1 2 3 4 Sample Output 3 0
def count_intersecting_pairs(n, intervals):
intervals.sort(key=lambda x: x[1])
count = 0
for i in range(n):
for j in range(i+1, n):
if intervals[i][1] >= intervals[j][0]:
count += 1
return count
def main():
n = int(input())
intervals = []
for _ in range(n):
l, r = map(int, input().split())
intervals.append((l, r))
print(count_intersecting_pairs(n, intervals))
main()Time Limit Exceeded
124999750000
ValueErrorA regular pentagon P is shown in the figure below. Determine whether the length of the line segment connecting points S_1 and S_2 of P equals the length of the line segment connecting points T_1 and T_2. Input The input is given from Standard Input in the following format: S_1S_2 T_1T_2 Output If the length of the line segment connecting points S_1 and S_2 of P equals the length of the line segment connecting points T_1 and T_2, print Yes; otherwise, print No. Constraints - Each of S_1, S_2, T_1, and T_2 is one of the characters A, B, C, D, and E. - S_1 \neq S_2 - T_1 \neq T_2 Sample Input 1 AC EC Sample Output 1 Yes The length of the line segment connecting point A and point C of P equals the length of the line segment connecting point E and point C. Sample Input 2 DA EA Sample Output 2 No The length of the line segment connecting point D and point A of P does not equal the length of the line segment connecting point E and point A. Sample Input 3 BD BD Sample Output 3 Yes
def main():
S_1, S_2 = input().split()
T_1, T_2 = input().split()
if S_1 == T_1 and S_2 == T_2:
print("Yes")
elif S_1 == T_2 and S_2 == T_1:
print("Yes")
else:
print("No")
main()Runtime Error
Yes
ValueErrorIn the country of AtCoder, there are N stations: station 1, station 2, \ldots, station N.
You are given M pieces of information about trains in the country. The i-th piece of information (1\leq i\leq M) is represented by a tuple of six positive integers (l _ i,d _ i,k _ i,c _ i,A _ i,B _ i), which corresponds to the following information:
- For each t=l _ i,l _ i+d _ i,l _ i+2d _ i,\ldots,l _ i+(k _ i-1)d _ i, there is a train as follows:
- The train departs from station A _ i at time t and arrives at station B _ i at time t+c _ i.
No trains exist other than those described by this information, and it is impossible to move from one station to another by any means other than by train.
Also, assume that the time required for transfers is negligible.
Let f(S) be the latest time at which one can arrive at station N from station S.
More precisely, f(S) is defined as the maximum value of t for which there is a sequence of tuples of four integers \big((t _ i,c _ i,A _ i,B _ i)\big) _ {i=1,2,\ldots,k} that satisfies all of the following conditions:
- t\leq t _ 1
- A _ 1=S,B _ k=N
- B _ i=A _ {i+1} for all 1\leq i\lt k,
- For all 1\leq i\leq k, there is a train that departs from station A _ i at time t _ i and arrives at station B _ i at time t _ i+c _ i.
- t _ i+c _ i\leq t _ {i+1} for all 1\leq i\lt k.
If no such t exists, set f(S)=-\infty.
Find f(1),f(2),\ldots,f(N-1).
Input
The input is given from Standard Input in the following format:
N M
l _ 1 d _ 1 k _ 1 c _ 1 A _ 1 B
…(truncated)def minimum_moves(t, test_cases):
for _ in range(t):
n = test_cases[_][0]
m = test_cases[_][1]
trains = []
for i in range(m):
trains.append(test_cases[_][2+i])
trains.sort(key=lambda x: x[0])
ans = [0] * n
for i in range(m):
l = trains[i][0]
d = trains[i][1]
k = trains[i][2]
c = trains[i][3]
a = trains[i][4]
b = trains[i][5]
for j in range(k):
t = l + j * d
if t > ans[b-1]:
ans[b-1] = t
if t + c > ans[a-1]:
ans[a-1] = t + c
for i in range(n):
if ans[i] == 0:
print("Unreachable")
else:
print(ans[i])
def main():
t = int(input())
test_cases = []
for _ in range(t):
n = int(input())
m = int(input())
trains = []
for i in range(m):
trains.append(list(map(int, input().split())))
test_cases.append((n, m, trains))
minimum_moves(t, test_cases)
main()Runtime Error
55 56 58 60 17
ValueErrorIn the nation of Atcoder, there are N cities numbered 1 to N, and M trains numbered 1 to M. Train i departs from city A_i at time S_i and arrives at city B_i at time T_i. Given a positive integer X_1, find a way to set non-negative integers X_2,\ldots,X_M that satisfies the following condition with the minimum possible value of X_2+\ldots+X_M. - Condition: For all pairs (i,j) satisfying 1 \leq i,j \leq M, if B_i=A_j and T_i \leq S_j, then T_i+X_i \leq S_j+X_j. - In other words, for any pair of trains that are originally possible to transfer between, it is still possible to transfer even after delaying the departure and arrival times of each train i by X_i. It can be proved that such a way to set X_2,\ldots,X_M with the minimum possible value of X_2+\ldots+X_M is unique. Input The input is given from Standard Input in the following format: N M X_1 A_1 B_1 S_1 T_1 \vdots A_M B_M S_M T_M Output Print X_2,\ldots,X_M that satisfy the condition with the minimum possible sum, in that order, separated by spaces. Constraints - 2 \leq N \leq 2\times 10^5 - 2 \leq M \leq 2\times 10^5 - 1 \leq A_i,B_i \leq N - A_i \neq B_i - 0 \leq S_i < T_i \leq 10^9 - 1 \leq X_1 \leq 10^9 - All input values are integers. Sample Input 1 3 6 15 1 2 10 20 1 2 20 30 2 3 25 40 2 3 35 50 3 1 15 30 3 1 45 60 Sample Output 1 0 10 0 0 5 The arrival of train 1 from city 1 to 2 is delayed by 15 and becomes time 35. To allow transfer from train 1 to 3 in city 2, the departure of train 3 …(truncated)
def minimum_moves(t, test_cases):
for _ in range(t):
n = test_cases[_][0]
m = test_cases[_][1]
x1 = test_cases[_][2]
trains = []
for i in range(m):
trains.append((test_cases[_][3+i*2], test_cases[_][4+i*2], test_cases[_][3+i*2], test_cases[_][4+i*2]))
trains.sort(key=lambda x: x[0])
ans = [0] * m
for i in range(m):
if trains[i][0] == trains[i][2]:
ans[i] = max(0, trains[i][3] - trains[i][1] - x1)
print(*ans)
def main():
t = int(input())
test_cases = []
for _ in range(t):
n = int(input())
m = int(input())
x1 = int(input())
trains = []
for i in range(m):
trains.append(list(map(int, input().split())))
test_cases.append((n, m, x1, *trains))
minimum_moves(t, test_cases)
main()Runtime Error
0 10 0 0 5
| category | count | % of failures |
|---|---|---|
| wrong_answer | 42255 | 70.5% |
| timeout | 2639 | 4.4% |
| runtime_error | 15037 | 25.1% |
| compile_error | 1 | 0.0% |
| no_code | 3 | 0.0% |
| harness_timeout | 8 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 11465 | 18511 | 12279 |
| timeout | 206 | 1470 | 963 |
| runtime_error | 2968 | 5644 | 6425 |
| compile_error | 1 | ||
| no_code | 1 | 2 | |
| harness_timeout | 7 | 1 |
| exception | count | % of runtime |
|---|---|---|
| ValueError | 5530 | 36.8% |
| IndexError | 3649 | 24.3% |
| TypeError | 2505 | 16.7% |
| EOFError | 1189 | 7.9% |
| NameError | 903 | 6.0% |
| UnboundLocalError | 394 | 2.6% |
| KeyError | 274 | 1.8% |
| RecursionError | 213 | 1.4% |
| AttributeError | 160 | 1.1% |
| ZeroDivisionError | 87 | 0.6% |
| RuntimeError | 46 | 0.3% |
| FileNotFoundError | 29 | 0.2% |
| OverflowError | 18 | 0.1% |
| AssertionError | 12 | 0.1% |
| MemoryError | 7 | 0.0% |
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
import sys N = int(sys.stdin.readline().strip()) print(N*N)
Wrong answer at output_line_idx=0: 9 != 333
333
9
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def solve():
N = int(input())
N = str(N)
N = int(N*9)
print(N)
solve()Wrong answer at output_line_idx=0: 333333333 != 333
333
333333333
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def answer(n):
return n * n
for n in range(1, 10):
print(answer(n))Wrong answer: mismatched output length
333
1 4 9 16 25 36 49 64 81
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
from sys import stdin
from collections import deque
read = stdin.readline
def main():
n = int(read().strip())
q = deque()
q.append(n)
while q:
num = q.popleft()
num_str = str(num)
if len(num_str) == 3 and int(num_str[0]) * int(num_str[1]) == int(num_str[2]):
print(num)
return
for i in range(1, 10):
new_num = num * 10 + i
q.append(new_num)
if __name__ == '__main__':
main()Time Limit Exceeded
326
TimeoutExceptionGiven two positive integers n and x. Return the number of ways n can be expressed as the sum of the x^th power of unique positive integers, in other words, the number of sets of unique integers [n_1, n_2, ..., n_k] where n = n_1^x + n_2^x + ... + n_k^x. Since the result can be very large, return it modulo 10^9 + 7. For example, if n = 160 and x = 3, one way to express n is n = 2^3 + 3^3 + 5^3. Example 1: Input: n = 10, x = 2 Output: 1 Explanation: We can express n as the following: n = 3^2 + 1^2 = 10. It can be shown that it is the only way to express 10 as the sum of the 2^nd power of unique integers. Example 2: Input: n = 4, x = 1 Output: 2 Explanation: We can express n in the following ways: - n = 4^1 = 4. - n = 3^1 + 1^1 = 4. Constraints: 1 <= n <= 300 1 <= x <= 5
class Solution:
def numberOfWays(self, n: int, k: int) -> int:
MOD = 10**9 + 7
powers = [1]
curr = 1
while curr <= n:
curr *= k
powers.append(curr)
curr = n
dp = [0] * (n+1)
dp[0] = 1
for power in powers:
for i in range(n, power-1, -1):
dp[i] += dp[i-power]
return dp[n] % MODTime Limit Exceeded
2
TimeoutExceptionGiven two positive integers n and x. Return the number of ways n can be expressed as the sum of the x^th power of unique positive integers, in other words, the number of sets of unique integers [n_1, n_2, ..., n_k] where n = n_1^x + n_2^x + ... + n_k^x. Since the result can be very large, return it modulo 10^9 + 7. For example, if n = 160 and x = 3, one way to express n is n = 2^3 + 3^3 + 5^3. Example 1: Input: n = 10, x = 2 Output: 1 Explanation: We can express n as the following: n = 3^2 + 1^2 = 10. It can be shown that it is the only way to express 10 as the sum of the 2^nd power of unique integers. Example 2: Input: n = 4, x = 1 Output: 2 Explanation: We can express n in the following ways: - n = 4^1 = 4. - n = 3^1 + 1^1 = 4. Constraints: 1 <= n <= 300 1 <= x <= 5
class Solution(object):
def countOfNumbers(self, num, x, count):
if num == 0:
return 1
if count > num:
return 0
return self.countOfNumbers(num, x, count + 1) + self.countOfNumbers(num - count ** x, x, count + 1)
def numberOfWays(self, n, x):
"""
:type n: int
:type x: int
:rtype: int
"""
total = self.countOfNumbers(n, x, 1)
return total % 1000000007Time Limit Exceeded
193582642
TypeErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def concatenate():
N = input()
N = int(N)
N = str(N)
result = ''
for i in range(N):
result += str(N)
print(result)
concatenate()Runtime Error
333
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
for _ in range(int(input())):
n = int(input())
print(str(n) * n)Runtime Error
333
ValueErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
a = int(input()) b = int(input()) print(pow(a, b) + pow(b, a))
Runtime Error
320
SystemExitThere exists an undirected tree with n nodes numbered 0 to n - 1. You are given a 2D integer array edges of length n - 1, where edges[i] = [u_i, v_i] indicates that there is an edge between nodes u_i and v_i in the tree. Initially, all nodes are unmarked. For each node i: If i is odd, the node will get marked at time x if there is at least one node adjacent to it which was marked at time x - 1. If i is even, the node will get marked at time x if there is at least one node adjacent to it which was marked at time x - 2. Return an array times where times[i] is the time when all nodes get marked in the tree, if you mark node i at time t = 0. Note that the answer for each times[i] is independent, i.e. when you mark node i all other nodes are unmarked. Example 1: Input: edges = [[0,1],[0,2]] Output: [2,4,3] Explanation: For i = 0: Node 1 is marked at t = 1, and Node 2 at t = 2. For i = 1: Node 0 is marked at t = 2, and Node 2 at t = 4. For i = 2: Node 0 is marked at t = 2, and Node 1 at t = 3. Example 2: Input: edges = [[0,1]] Output: [1,2] Explanation: For i = 0: Node 1 is marked at t = 1. For i = 1: Node 0 is marked at t = 2. Example 3: Input: edges = [[2,4],[0,1],[2,3],[0,2]] Output: [4,6,3,5,5] Explanation: Constraints: 2 <= n <= 10^5 edges.length == n - 1 edges[i].length == 2 0 <= edges[i][0], edges[i][1] <= n - 1 The input is generated such that edges represents a valid tree.
class Solution:
def timeTaken(self, edges: List[List[int]]) -> List[int]:
ans = [0]
for i in range(len(edges) - 1):
ans.append(max(ans[i] + 1, i + 2))
return ans
import unittest
class TestProgram(unittest.TestCase):
def test_program1(self):
self.assertEqual(
Solution.timeTaken(self, [[0, 1], [0, 2]]),
[2, 4, 3]
)
def test_program2(self):
self.assertEqual(
Solution.timeTaken(self, [[0, 1]]),
[1, 2]
)
def test_program3(self):
self.assertEqual(
Solution.timeTaken(self, [[2, 4], [0, 1], [2, 3], [0, 2]]),
[4, 6, 3, 5, 5]
)
unittest.main(verbosity=2)SystemExit: SystemExit(2)
There exist two undirected trees with n and m nodes, numbered from 0 to n - 1 and from 0 to m - 1, respectively. You are given two 2D integer arrays edges1 and edges2 of lengths n - 1 and m - 1, respectively, where edges1[i] = [a_i, b_i] indicates that there is an edge between nodes a_i and b_i in the first tree and edges2[i] = [u_i, v_i] indicates that there is an edge between nodes u_i and v_i in the second tree. You must connect one node from the first tree with another node from the second tree with an edge. Return the minimum possible diameter of the resulting tree. The diameter of a tree is the length of the longest path between any two nodes in the tree. Example 1: Input: edges1 = [[0,1],[0,2],[0,3]], edges2 = [[0,1]] Output: 3 Explanation: We can obtain a tree of diameter 3 by connecting node 0 from the first tree with any node from the second tree. Example 2: Input: edges1 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]], edges2 = [[0,1],[0,2],[0,3],[2,4],[2,5],[3,6],[2,7]] Output: 5 Explanation: We can obtain a tree of diameter 5 by connecting node 0 from the first tree with node 0 from the second tree. Constraints: 1 <= n, m <= 10^5 edges1.length == n - 1 edges2.length == m - 1 edges1[i].length == edges2[i].length == 2 edges1[i] = [a_i, b_i] 0 <= a_i, b_i < n edges2[i] = [u_i, v_i] 0 <= u_i, v_i < m The input is generated such that edges1 and edges2 represent valid trees.
You are given two 0-indexed strings source and target, both of length n and consisting of lowercase English letters. You are also given two 0-indexed character arrays original and changed, and an integer array cost, where cost[i] represents the cost of changing the character original[i] to the character changed[i]. You start with the string source. In one operation, you can pick a character x from the string and change it to the character y at a cost of z if there exists any index j such that cost[j] == z, original[j] == x, and changed[j] == y. Return the minimum cost to convert the string source to the string target using any number of operations. If it is impossible to convert source to target, return -1. Note that there may exist indices i, j such that original[j] == original[i] and changed[j] == changed[i]. Example 1: Input: source = "abcd", target = "acbe", original = ["a","b","c","c","e","d"], changed = ["b","c","b","e","b","e"], cost = [2,5,5,1,2,20] Output: 28 Explanation: To convert the string "abcd" to string "acbe": - Change value at index 1 from 'b' to 'c' at a cost of 5. - Change value at index 2 from 'c' to 'e' at a cost of 1. - Change value at index 2 from 'e' to 'b' at a cost of 2. - Change value at index 3 from 'd' to 'e' at a cost of 20. The total cost incurred is 5 + 1 + 2 + 20 = 28. It can be shown that this is the minimum possible cost. Example 2: Input: source = "aaaa", target = "bbbb", original = ["a","c"], changed = ["c","b"], cost = [1,2] Output: …(truncated)
You are given an integer n and a 2D array requirements, where requirements[i] = [end_i, cnt_i] represents the end index and the inversion count of each requirement. A pair of indices (i, j) from an integer array nums is called an inversion if: i < j and nums[i] > nums[j] Return the number of permutations perm of [0, 1, 2, ..., n - 1] such that for all requirements[i], perm[0..end_i] has exactly cnt_i inversions. Since the answer may be very large, return it modulo 10^9 + 7. Example 1: Input: n = 3, requirements = [[2,2],[0,0]] Output: 2 Explanation: The two permutations are: [2, 0, 1] Prefix [2, 0, 1] has inversions (0, 1) and (0, 2). Prefix [2] has 0 inversions. [1, 2, 0] Prefix [1, 2, 0] has inversions (0, 2) and (1, 2). Prefix [1] has 0 inversions. Example 2: Input: n = 3, requirements = [[2,2],[1,1],[0,0]] Output: 1 Explanation: The only satisfying permutation is [2, 0, 1]: Prefix [2, 0, 1] has inversions (0, 1) and (0, 2). Prefix [2, 0] has an inversion (0, 1). Prefix [2] has 0 inversions. Example 3: Input: n = 2, requirements = [[0,0],[1,0]] Output: 1 Explanation: The only satisfying permutation is [0, 1]: Prefix [0] has 0 inversions. Prefix [0, 1] has an inversion (0, 1). Constraints: 2 <= n <= 300 1 <= requirements.length <= n requirements[i] = [end_i, cnt_i] 0 <= end_i <= n - 1 0 <= cnt_i <= 400 The input is generated such that there is at least one i such that end_i == n - 1. The input is generated such that all end_i are unique.
You are given an integer array nums of length n. Your goal is to start at index 0 and reach index n - 1. You can only jump to indices greater than your current index. The score for a jump from index i to index j is calculated as (j - i) * nums[i]. Return the maximum possible total score by the time you reach the last index. Example 1: Input: nums = [1,3,1,5] Output: 7 Explanation: First, jump to index 1 and then jump to the last index. The final score is 1 * 1 + 2 * 3 = 7. Example 2: Input: nums = [4,3,1,3,2] Output: 16 Explanation: Jump directly to the last index. The final score is 4 * 4 = 16. Constraints: 1 <= nums.length <= 10^5 1 <= nums[i] <= 10^5
class Solution:
def findMaximumScore(self, nums: List[int]) -> int:
return max(i * j for i, j in product(nums, count(1)))harness timeout
AtCoder cafeteria offers N main dishes and M side dishes. The price of the i-th main dish is A_i, and that of the j-th side dish is B_j. The cafeteria is considering introducing a new set meal menu. A set meal consists of one main dish and one side dish. Let s be the sum of the prices of the main dish and the side dish, then the price of the set meal is \min(s,P). Here, P is a constant given in the input. There are NM ways to choose a main dish and a side dish for a set meal. Find the total price of all these set meals. Input The input is given from Standard Input in the following format: N M P A_1 A_2 \dots A_N B_1 B_2 \dots B_M Output Print the answer as an integer. Under the constraints of this problem, it can be proved that the answer fits into a 64-bit signed integer. Constraints - 1\leq N,M \leq 2\times 10^5 - 1\leq A_i,B_j \leq 10^8 - 1\leq P \leq 2\times 10^8 - All input values are integers. Sample Input 1 2 2 7 3 5 6 1 Sample Output 1 24 - If you choose the first main dish and the first side dish, the price of the set meal is \min(3+6,7)=7. - If you choose the first main dish and the second side dish, the price of the set meal is \min(3+1,7)=4. - If you choose the second main dish and the first side dish, the price of the set meal is \min(5+6,7)=7. - If you choose the second main dish and the second side dish, the price of the set meal is \min(5+1,7)=6. Thus, the answer is 7+4+7+6=24. Sample Input 2 1 3 2 1 1 1 1 Sample Output 2 6 Sample …(truncated)
import itertools
def main():
n, m, p = map(int, input().split())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
sum_ab = list(itertools.product(a, b))
total_price = 0
for i in range(len(sum_ab)):
total_price += min(sum_ab[i][0]+sum_ab[i][1], p)
print(total_price)
main()harness timeout
We have N dice.
For each i = 1, 2, \ldots, N, when the i-th die is thrown, it shows a random integer between 1 and A_i, inclusive, with equal probability.
Find the probability, modulo 998244353, that the following condition is satisfied when the N dice are thrown simultaneously.
There is a way to choose some (possibly all) of the N dice so that the sum of their results is 10.
How to find a probability modulo 998244353
It can be proved that the sought probability is always a rational number. Additionally, the constraints of this problem guarantee that if the sought probability is represented as an irreducible fraction \frac{y}{x}, then x is not divisible by 998244353. Here, there is a unique integer z such that xz \equiv y \pmod{998244353}. Report this z.
Input
The input is given from Standard Input in the following format:
N
A_1 A_2 \ldots A_N
Output
Print the answer.
Constraints
- 1 \leq N \leq 100
- 1 \leq A_i \leq 10^6
- All input values are integers.
Sample Input 1
4
1 7 2 9
Sample Output 1
942786334
For instance, if the first, second, third, and fourth dice show 1, 3, 2, and 7, respectively, these results satisfy the condition.
In fact, if the second and fourth dice are chosen, the sum of their results is 3 + 7 = 10.
Alternatively, if the first, third, and fourth dice are chosen, the sum of their results is 1 + 2 + 7 = 10.
On the other hand, if the first, second, third, and fourth dice show 1, 6, 1, and 5, respectively, there is no way to choose some
…(truncated)def solve(n, a):
mod = 998244353
dp = [1] + [0] * 1000000000000
for ai in a:
for i in range(1000000000000, -1, -1):
if dp[i] == 0:
continue
for j in range(1, min(ai, 1000000000000 - i) + 1):
dp[i + j] += dp[i] % mod
dp[i + j] %= mod
ans = sum(dp[10:]) % mod
x = dp[10:].index(ans)
z = (ans * pow(x, mod - 2, mod)) % mod
return z
def main():
n = int(input())
a = list(map(int, input().split()))
print(solve(n, a))
main()harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 398 | 73.2% |
| timeout | 44 | 8.1% |
| runtime_error | 88 | 16.2% |
| no_code | 14 | 2.6% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 97 | 177 | 124 |
| timeout | 1 | 26 | 17 |
| runtime_error | 11 | 28 | 49 |
| no_code | 1 | 6 | 7 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 37 | 42.0% |
| ValueError | 21 | 23.9% |
| TypeError | 13 | 14.8% |
| EOFError | 6 | 6.8% |
| NameError | 5 | 5.7% |
| ZeroDivisionError | 2 | 2.3% |
| RecursionError | 2 | 2.3% |
| StopIteration | 1 | 1.1% |
| AttributeError | 1 | 1.1% |
Given two positive integers n and x. Return the number of ways n can be expressed as the sum of the x^th power of unique positive integers, in other words, the number of sets of unique integers [n_1, n_2, ..., n_k] where n = n_1^x + n_2^x + ... + n_k^x. Since the result can be very large, return it modulo 10^9 + 7. For example, if n = 160 and x = 3, one way to express n is n = 2^3 + 3^3 + 5^3. Example 1: Input: n = 10, x = 2 Output: 1 Explanation: We can express n as the following: n = 3^2 + 1^2 = 10. It can be shown that it is the only way to express 10 as the sum of the 2^nd power of unique integers. Example 2: Input: n = 4, x = 1 Output: 2 Explanation: We can express n in the following ways: - n = 4^1 = 4. - n = 3^1 + 1^1 = 4. Constraints: 1 <= n <= 300 1 <= x <= 5
class Solution:
def numberOfWays(self, n: int, x: int) -> int:
MOD = 10**9 + 7
dp = [0] * (n + 1)
dp[0] = 1
for i in range(1, n + 1):
for j in range(1, x + 1):
if i - j**x >= 0:
dp[i] = (dp[i] + dp[i - j**x]) % MOD
return dp[n]Wrong Answer
1
14
You are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
count = 0
for num in range(low, high + 1):
if len(str(num)) % 2 == 0:
mid = len(str(num)) // 2
first_half = int(str(num)[:mid])
second_half = int(str(num)[mid:])
if first_half == second_half:
count += 1
return countWrong Answer
4
1
There are 7 points A, B, C, D, E, F, and G on a straight line, in this order. (See also the figure below.) The distances between adjacent points are as follows. - Between A and B: 3 - Between B and C: 1 - Between C and D: 4 - Between D and E: 1 - Between E and F: 5 - Between F and G: 9 You are given two uppercase English letters p and q. Each of p and q is A, B, C, D, E, F, or G, and it holds that p \neq q. Find the distance between the points p and q. Input The input is given from Standard Input in the following format: p q Output Print the distance between the points p and q. Constraints - Each of p and q is A,B,C,D,E,F, or G. - p \neq q Sample Input 1 A C Sample Output 1 4 The distance between the points A and C is 3 + 1 = 4. Sample Input 2 G B Sample Output 2 20 The distance between the points G and B is 9 + 5 + 1 + 4 + 1 = 20. Sample Input 3 C F Sample Output 3 10
# Read the inputs from stdin
p, q = input().split()
# Define the distances between adjacent points
distances = {
'A': 0,
'B': 3,
'C': 4,
'D': 5,
'E': 6,
'F': 11,
'G': 20
}
# Calculate the distance between the points p and q
distance = distances[q] - distances[p]
# Print the distance
print(distance)Wrong answer at output_line_idx=0: -17 != 20
20
-17
TimeoutExceptionA repunit is an integer whose digits are all 1 in decimal representation. The repunits in ascending order are 1, 11, 111, \ldots. Find the N-th smallest integer that can be expressed as the sum of exactly three repunits. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 333, inclusive. Sample Input 1 5 Sample Output 1 113 The integers that can be expressed as the sum of exactly three repunits are 3, 13, 23, 33, 113, \ldots in ascending order. For example, 113 can be expressed as 113 = 1 + 1 + 111. Note that the three repunits do not have to be distinct. Sample Input 2 19 Sample Output 2 2333 Sample Input 3 333 Sample Output 3 112222222233
def repunit(n):
return int('1' * n)
def find_nth_sum_of_three_repunits(N):
count = 0
i = 1
while True:
for j in range(i, N + 1):
for k in range(j, N + 1):
if repunit(i) + repunit(j) + repunit(k) == N:
count += 1
if count == N:
return repunit(i) + repunit(j) + repunit(k)
i += 1
# Read input
N = int(input())
# Find and print the N-th smallest integer that can be expressed as the sum of exactly three repunits
result = find_nth_sum_of_three_repunits(N)
print(result)Time Limit Exceeded
113
TimeoutExceptionYou are given two integer sequences A and B, each of length N. Choose integers i, j (1 \leq i, j \leq N) to maximize the value of A_i + B_j. Input The input is given from Standard Input in the following format: N A_1 A_2 \dots A_N B_1 B_2 \dots B_N Output Print the maximum possible value of A_i + B_j. Constraints - 1 \leq N \leq 5 \times 10^5 - |A_i| \leq 10^9 (i=1,2,\dots,N) - |B_j| \leq 10^9 (j=1,2,\dots,N) - All input values are integers. Sample Input 1 2 -1 5 3 -7 Sample Output 1 8 For (i,j) = (1,1), (1,2), (2,1), (2,2), the values of A_i + B_j are 2, -8, 8, -2 respectively, and (i,j) = (2,1) achieves the maximum value 8. Sample Input 2 6 15 12 3 -13 -1 -19 7 17 -13 -10 18 4 Sample Output 2 33
# Read the input values
N = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
# Initialize the maximum value
max_value = float('-inf')
# Iterate through all pairs (i, j)
for i in range(N):
for j in range(N):
# Calculate the sum of A_i and B_j
current_sum = A[i] + B[j]
# Update the maximum value if the current sum is greater
if current_sum > max_value:
max_value = current_sum
# Print the maximum value
print(max_value)Time Limit Exceeded
-2000000000
TimeoutExceptionYou are given a sequence A=(A_1,\ldots,A_N) of length N. The elements of A are distinct.
Process Q queries in the order they are given. Each query is of one of the following two types:
- 1 x y : Insert y immediately after the element x in A. It is guaranteed that x exists in A when this query is given.
- 2 x : Remove the element x from A. It is guaranteed that x exists in A when this query is given.
It is guaranteed that after processing each query, A will not be empty, and its elements will be distinct.
Print A after processing all the queries.
Input
The input is given from Standard Input in the following format:
N
A_1 \ldots A_N
Q
\mathrm{Query}_1
\vdots
\mathrm{Query}_Q
Here, \mathrm{Query}_i represents the i-th query and is given in one of the following formats:
1 x y
2 x
Output
Let A=(A_1,\ldots,A_K) be the sequence after processing all the queries. Print A_1,\ldots,A_K in this order, separated by spaces.
Constraints
- 1 \leq N \leq 2\times 10^5
- 1 \leq Q \leq 2\times 10^5
- 1 \leq A_i \leq 10^9
- A_i \neq A_j
- For queries of the first type, 1 \leq x,y \leq 10^9.
- When a query of the first type is given, x exists in A.
- For queries of the second type, 1 \leq x \leq 10^9.
- When a query of the second type is given, x exists in A.
- After processing each query, A is not empty, and its elements are distinct.
- All input values are integers.
Sample Input 1
4
2 1 4 3
4
2 1
1 4 5
2 2
1 5 1
Sample Output 1
4 5 1 3
The queries are processed
…(truncated)from collections import deque
def process_queries(N, A, Q, queries):
A = deque(A)
for query in queries:
if query[0] == 1:
x, y = query[1], query[2]
A.insert(A.index(x) + 1, y)
elif query[0] == 2:
x = query[1]
A.remove(x)
return list(A)
# Read input
N = int(input())
A = list(map(int, input().split()))
Q = int(input())
queries = [list(map(int, input().split())) for _ in range(Q)]
# Process queries
result = process_queries(N, A, Q, queries)
# Print the result
print(' '.join(map(str, result)))Time Limit Exceeded
530654745 858632614 379164283 432201176 394853891 249302787 809172097 212481307 847648813 580719486 965140386 76898284 748053356 768827186 872311365 9...(truncated) ... 135650536 762844353 901827153 862352760 827441277 839273664 644930021 14216339 112781395 968049685 646190886 484794898 751390776 547776714 272458541
ValueErrorA regular pentagon P is shown in the figure below. Determine whether the length of the line segment connecting points S_1 and S_2 of P equals the length of the line segment connecting points T_1 and T_2. Input The input is given from Standard Input in the following format: S_1S_2 T_1T_2 Output If the length of the line segment connecting points S_1 and S_2 of P equals the length of the line segment connecting points T_1 and T_2, print Yes; otherwise, print No. Constraints - Each of S_1, S_2, T_1, and T_2 is one of the characters A, B, C, D, and E. - S_1 \neq S_2 - T_1 \neq T_2 Sample Input 1 AC EC Sample Output 1 Yes The length of the line segment connecting point A and point C of P equals the length of the line segment connecting point E and point C. Sample Input 2 DA EA Sample Output 2 No The length of the line segment connecting point D and point A of P does not equal the length of the line segment connecting point E and point A. Sample Input 3 BD BD Sample Output 3 Yes
# Read the inputs from stdin
S1, S2 = input().split()
T1, T2 = input().split()
# Define the coordinates of the points in the pentagon
points = {
'A': (0, 0),
'B': (1, 0),
'C': (0.5, 0.866),
'D': (-0.5, 0.866),
'E': (0, -1)
}
# Calculate the distance between two points
def distance(p1, p2):
return ((p1[0] - p2[0]) ** 2 + (p1[1] - p2[1]) ** 2) ** 0.5
# Check if the distances between the given points are equal
if distance(points[S1], points[S2]) == distance(points[T1], points[T2]):
print("Yes")
else:
print("No")Runtime Error
Yes
IndexErrorA positive integer x is called a 321-like Number when it satisfies the following condition. This definition is the same as the one in Problem A. - The digits of x are strictly decreasing from top to bottom. - In other words, if x has d digits, it satisfies the following for every integer i such that 1 \le i < d: - (the i-th digit from the top of x) > (the (i+1)-th digit from the top of x). Note that all one-digit positive integers are 321-like Numbers. For example, 321, 96410, and 1 are 321-like Numbers, but 123, 2109, and 86411 are not. Find the K-th smallest 321-like Number. Input The input is given from Standard Input in the following format: K Output Print the K-th smallest 321-like Number as an integer. Constraints - All input values are integers. - 1 \le K - At least K 321-like Numbers exist. Sample Input 1 15 Sample Output 1 32 The 321-like Numbers are (1,2,3,4,5,6,7,8,9,10,20,21,30,31,32,40,\dots) from smallest to largest. The 15-th smallest of them is 32. Sample Input 2 321 Sample Output 2 9610 Sample Input 3 777 Sample Output 3 983210
def kth_321_like_number(K):
# Initialize the list of 321-like numbers
numbers = []
# Generate 321-like numbers
for i in range(1, 10):
for j in range(i-1, 0, -1):
for k in range(j-1, 0, -1):
for l in range(k-1, 0, -1):
for m in range(l-1, 0, -1):
for n in range(m-1, 0, -1):
for o in range(n-1, 0, -1):
for p in range(o-1, 0, -1):
for q in range(p-1, 0, -1):
for r in range(q-1, 0, -1):
for s in range(r-1, 0, -1):
for t in range(s-1, 0, -1):
for u in range(t-1, 0, -1):
for v in range(u-1, 0, -1):
for w in range(v-1, 0, -1):
for x in range(w-1, 0, -1):
for y in range(x-1, 0, -1):
for z in range(y-1, 0, -1):
number = int(f"{i}{j}{k}{l}{m}{n}{o}{p}{q}{r}{s}{t}{u}{v}{w}{x}{y}{z}")
numbers.append(number)
# Sort the list of 321-like numbers
numbers.sort()
# Return the K-th smallest 321-like number
return numbers[K-1]
# Read input
K = int(input())
# Print the K-th smallest 321-like number
print(kth_321_like_number(K))Runtime Error
32
IndexErrorIn the country of AtCoder, there are N stations: station 1, station 2, \ldots, station N.
You are given M pieces of information about trains in the country. The i-th piece of information (1\leq i\leq M) is represented by a tuple of six positive integers (l _ i,d _ i,k _ i,c _ i,A _ i,B _ i), which corresponds to the following information:
- For each t=l _ i,l _ i+d _ i,l _ i+2d _ i,\ldots,l _ i+(k _ i-1)d _ i, there is a train as follows:
- The train departs from station A _ i at time t and arrives at station B _ i at time t+c _ i.
No trains exist other than those described by this information, and it is impossible to move from one station to another by any means other than by train.
Also, assume that the time required for transfers is negligible.
Let f(S) be the latest time at which one can arrive at station N from station S.
More precisely, f(S) is defined as the maximum value of t for which there is a sequence of tuples of four integers \big((t _ i,c _ i,A _ i,B _ i)\big) _ {i=1,2,\ldots,k} that satisfies all of the following conditions:
- t\leq t _ 1
- A _ 1=S,B _ k=N
- B _ i=A _ {i+1} for all 1\leq i\lt k,
- For all 1\leq i\leq k, there is a train that departs from station A _ i at time t _ i and arrives at station B _ i at time t _ i+c _ i.
- t _ i+c _ i\leq t _ {i+1} for all 1\leq i\lt k.
If no such t exists, set f(S)=-\infty.
Find f(1),f(2),\ldots,f(N-1).
Input
The input is given from Standard Input in the following format:
N M
l _ 1 d _ 1 k _ 1 c _ 1 A _ 1 B
…(truncated)from collections import defaultdict
from typing import List, Tuple
def solve(n: int, m: int, trains: List[Tuple[int, int, int, int, int, int]]) -> List[int]:
# Build the graph
graph = defaultdict(list)
for l, d, k, c, a, b in trains:
for t in range(l, l + k * d, d):
graph[a].append((t, b, c))
# Initialize the DP table
dp = [float('-inf')] * n
dp[0] = 0
# Perform dynamic programming
for i in range(n):
for t, b, c in graph[i]:
if dp[i] + t + c > dp[b]:
dp[b] = dp[i] + t + c
# Convert -inf to 'Unreachable'
result = ['Unreachable' if x == float('-inf') else x for x in dp[1:]]
return result
# Read input
n, m = map(int, input().split())
trains = [tuple(map(int, input().split())) for _ in range(m)]
# Solve the problem
result = solve(n, m, trains)
# Write the output
print('\n'.join(map(str, result)))Runtime Error
55 56 58 60 17
You are given an integer n. A string s is called good if it contains only lowercase English characters and it is possible to rearrange the characters of s such that the new string contains "leet" as a substring. For example: The string "lteer" is good because we can rearrange it to form "leetr" . "letl" is not good because we cannot rearrange it to contain "leet" as a substring. Return the total number of good strings of length n. Since the answer may be large, return it modulo 10^9 + 7. A substring is a contiguous sequence of characters within a string. Example 1: Input: n = 4 Output: 12 Explanation: The 12 strings which can be rearranged to have "leet" as a substring are: "eelt", "eetl", "elet", "elte", "etel", "etle", "leet", "lete", "ltee", "teel", "tele", and "tlee". Example 2: Input: n = 10 Output: 83943898 Explanation: The number of strings with length 10 which can be rearranged to have "leet" as a substring is 526083947580. Hence the answer is 526083947580 % (10^9 + 7) = 83943898. Constraints: 1 <= n <= 10^5
You are given two positive integers n and k. An integer x is called k-palindromic if: x is a palindrome. x is divisible by k. An integer is called good if its digits can be rearranged to form a k-palindromic integer. For example, for k = 2, 2020 can be rearranged to form the k-palindromic integer 2002, whereas 1010 cannot be rearranged to form a k-palindromic integer. Return the count of good integers containing n digits. Note that any integer must not have leading zeros, neither before nor after rearrangement. For example, 1010 cannot be rearranged to form 101. Example 1: Input: n = 3, k = 5 Output: 27 Explanation: Some of the good integers are: 551 because it can be rearranged to form 515. 525 because it is already k-palindromic. Example 2: Input: n = 1, k = 4 Output: 2 Explanation: The two good integers are 4 and 8. Example 3: Input: n = 5, k = 6 Output: 2468 Constraints: 1 <= n <= 10 1 <= k <= 9
There are N+2 cells arranged in a row. Let cell i denote the i-th cell from the left. There is one stone placed in each of the cells from cell 1 to cell N. For each 1 \leq i \leq N, the stone in cell i is white if S_i is W, and black if S_i is B. Cells N+1 and N+2 are empty. You can perform the following operation any number of times (possibly zero): - Choose a pair of adjacent cells that both contain stones, and move these two stones to the empty two cells while preserving their order. More precisely, choose an integer x such that 1 \leq x \leq N+1 and both cells x and x+1 contain stones. Let k and k+1 be the empty two cells. Move the stones from cells x and x+1 to cells k and k+1, respectively. Determine if it is possible to achieve the following state, and if so, find the minimum number of operations required: - Each of the cells from cell 1 to cell N contains one stone, and for each 1 \leq i \leq N, the stone in cell i is white if T_i is W, and black if T_i is B. Input The input is given from Standard Input in the following format: N S T Output If it is possible to achieve the desired state, print the minimum number of operations required. If it is impossible, print -1. Constraints - 2 \leq N \leq 14 - N is an integer. - Each of S and T is a string of length N consisting of B and W. Sample Input 1 6 BWBWBW WWWBBB Sample Output 1 4 Using . to represent an empty cell, the desired state can be achieved in four operations as follows, which is the mini …(truncated)
| category | count | % of failures |
|---|---|---|
| wrong_answer | 40050 | 71.6% |
| timeout | 3732 | 6.7% |
| runtime_error | 11884 | 21.2% |
| no_code | 278 | 0.5% |
| harness_timeout | 10 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 9585 | 18333 | 12132 |
| timeout | 221 | 1935 | 1576 |
| runtime_error | 1965 | 4123 | 5796 |
| no_code | 25 | 104 | 149 |
| harness_timeout | 5 | 5 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 4235 | 35.6% |
| ValueError | 2674 | 22.5% |
| TypeError | 2100 | 17.7% |
| NameError | 863 | 7.3% |
| EOFError | 565 | 4.8% |
| UnboundLocalError | 367 | 3.1% |
| KeyError | 365 | 3.1% |
| RecursionError | 316 | 2.7% |
| AttributeError | 161 | 1.4% |
| ZeroDivisionError | 99 | 0.8% |
| FileNotFoundError | 41 | 0.3% |
| RuntimeError | 27 | 0.2% |
| OverflowError | 20 | 0.2% |
| StopIteration | 15 | 0.1% |
| NotImplementedError | 11 | 0.1% |
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
# YOUR CODE HERE N = int(input()) print(N * N)
Wrong answer at output_line_idx=0: 9 != 333
333
9
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
N = int(input()) print(N * N)
Wrong answer at output_line_idx=0: 9 != 333
333
9
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
N = int(input()) print(N * N)
Wrong answer at output_line_idx=0: 9 != 333
333
9
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
# YOUR CODE HERE
N = int(input())
while True:
for i in range(10):
for j in range(10):
if i * j == N % 10:
print(N + (100 - N % 10))
break
else:
continue
break
else:
N += 1Time Limit Exceeded
326
TimeoutExceptionYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
# If k is greater than n, the entire range from 1 to n is k-avoiding
if k > n:
return sum(range(1, n + 1))
# If k is less than or equal to n, we need to consider two parts:
# 1. The first part is the sum of the first (k-1) natural numbers
# 2. The second part is the sum of the remaining numbers that do not form a pair summing to k with the first part
sum1 = sum(range(1, k))
min_sum = sum1
# Counter for the numbers already used
used = set(range(1, k))
# Iterate to find the next number in the sequence
for i in range(k, n + 1):
# Check if adding i to the sequence forms a pair summing to k
while i + k - i in used:
i += 1
# Add the valid number to the sequence
used.add(i)
# Add the number to the current minimum sum
min_sum += i
return min_sumTime Limit Exceeded
18
TimeoutExceptionYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
# If k is greater than n, it's impossible to avoid any sum of two distinct elements
if k > n:
return sum(range(1, n + 1))
# Initialize a set to keep track of used numbers
used = set()
current_sum = 0
# Start with the smallest number
number = 1
# Continue until we have n numbers in the set
while len(used) < n:
# Calculate the complement of the current number with respect to k
complement = k - number
# If the complement is not used, add the current number to the set
if complement not in used:
used.add(number)
current_sum += number
# Otherwise, move to the next number
else:
number += 1
return current_sumTime Limit Exceeded
18
EOFErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
def calculate_power_sum(A, B):
A_power_B = A ** B
B_power_A = B ** A
return A_power_B + B_power_A
# Read the inputs from stdin
A = int(input().split()[0])
B = int(input().split()[1])
# Calculate the power sum and print the result
print(calculate_power_sum(A, B))Runtime Error
320
ValueErrorTakahashi, a young baseball enthusiast, has been a very good boy this year, so Santa has decided to give him a bat or a glove, whichever is more expensive. If a bat costs B yen and a glove costs G yen (B\neq G), which one will Santa give to Takahashi? Input The input is given from Standard Input in the following format: B G Output If Santa gives Takahashi a bat, print Bat; if Santa gives him a glove, print Glove. Constraints - B and G are different integers between 1 and 1000, inclusive. Sample Input 1 300 100 Sample Output 1 Bat The bat is more expensive than the glove, so Santa will give Takahashi the bat. Sample Input 2 334 343 Sample Output 2 Glove The glove is more expensive than the bat, so Santa will give Takahashi the glove.
# YOUR CODE HERE
B = int(input())
G = int(input())
if B > G:
print("Bat")
else:
print("Glove")Runtime Error
Bat
TypeErrorTakahashi, a young baseball enthusiast, has been a very good boy this year, so Santa has decided to give him a bat or a glove, whichever is more expensive. If a bat costs B yen and a glove costs G yen (B\neq G), which one will Santa give to Takahashi? Input The input is given from Standard Input in the following format: B G Output If Santa gives Takahashi a bat, print Bat; if Santa gives him a glove, print Glove. Constraints - B and G are different integers between 1 and 1000, inclusive. Sample Input 1 300 100 Sample Output 1 Bat The bat is more expensive than the glove, so Santa will give Takahashi the bat. Sample Input 2 334 343 Sample Output 2 Glove The glove is more expensive than the bat, so Santa will give Takahashi the glove.
# YOUR CODE HERE
from sys import stdin as input
B, G = map(int, input().split())
if B > G:
print("Bat")
else:
print("Glove")Runtime Error
Bat
There is a road extending east and west, and N persons are on the road. The road extends infinitely long to the east and west from a point called the origin. The i-th person (1\leq i\leq N) is initially at a position X_i meters east from the origin. The persons can move along the road to the east or west. Specifically, they can perform the following movement any number of times. - Choose one person. If there is no other person at the destination, move the chosen person 1 meter east or west. They have Q tasks in total, and the i-th task (1\leq i\leq Q) is as follows. - The T_i-th person arrives at coordinate G_i. Find the minimum total number of movements required to complete all Q tasks in order. Input The input is given from Standard Input in the following format: N X_1 X_2 \ldots X_N Q T_1 G_1 T_2 G_2 \vdots T_Q G_Q Output Print the answer. Constraints - 1\leq N\leq2\times10^5 - 0\leq X_1 < X_2 < \dotsb < X_N \leq10^8 - 1\leq Q\leq2\times10^5 - 1\leq T_i\leq N\ (1\leq i\leq Q) - 0\leq G_i\leq10^8\ (1\leq i\leq Q) - All input values are integers. Sample Input 1 5 10 20 30 40 50 4 3 45 4 20 1 35 2 60 Sample Output 1 239 An optimal sequence of movements for the persons is as follows (the positions of the persons are not necessarily drawn to scale): For each task, the persons move as follows. - The 4th person moves 6 steps east, and the 3rd person moves 15 steps east. - The 2nd person moves 2 steps west, the 3rd person moves 26 steps west, and the 4th person m …(truncated)
There are N people numbered 1 to N on a coordinate plane. Person 1 is at the origin. You are given M pieces of information in the following form: - From person A_i's perspective, person B_i is X_i units away in the positive x-direction and Y_i units away in the positive y-direction. Determine the coordinates of each person. If the coordinates of a person cannot be uniquely determined, report that fact. Input The input is given from Standard Input in the following format: N M A_1 B_1 X_1 Y_1 \vdots A_M B_M X_M Y_M Output Print N lines. If the coordinates of person i cannot be uniquely determined, the i-th line should contain undecidable. If they can be uniquely determined as (s_i,t_i), the i-th line should contain s_i and t_i in this order, separated by a space. Constraints - 1 \leq N \leq 2\times 10^5 - 0 \leq M \leq 2\times 10^5 - 1\leq A_i, B_i \leq N - A_i \neq B_i - -10^9 \leq X_i,Y_i \leq 10^9 - All input values are integers. - The given information is consistent. Sample Input 1 3 2 1 2 2 1 1 3 -1 -2 Sample Output 1 0 0 2 1 -1 -2 The figure below shows the positional relationship of the three people. Sample Input 2 3 2 2 1 -2 -1 2 3 -3 -3 Sample Output 2 0 0 2 1 -1 -2 The figure below shows the positional relationship of the three people. Sample Input 3 5 7 1 2 0 0 1 2 0 0 2 3 0 0 3 1 0 0 2 1 0 0 3 2 0 0 4 5 0 0 Sample Output 3 0 0 0 0 0 0 undecidable undecidable The same piece of information may be given multiple time …(truncated)
There are N people numbered 1 to N on a coordinate plane. Person 1 is at the origin. You are given M pieces of information in the following form: - From person A_i's perspective, person B_i is X_i units away in the positive x-direction and Y_i units away in the positive y-direction. Determine the coordinates of each person. If the coordinates of a person cannot be uniquely determined, report that fact. Input The input is given from Standard Input in the following format: N M A_1 B_1 X_1 Y_1 \vdots A_M B_M X_M Y_M Output Print N lines. If the coordinates of person i cannot be uniquely determined, the i-th line should contain undecidable. If they can be uniquely determined as (s_i,t_i), the i-th line should contain s_i and t_i in this order, separated by a space. Constraints - 1 \leq N \leq 2\times 10^5 - 0 \leq M \leq 2\times 10^5 - 1\leq A_i, B_i \leq N - A_i \neq B_i - -10^9 \leq X_i,Y_i \leq 10^9 - All input values are integers. - The given information is consistent. Sample Input 1 3 2 1 2 2 1 1 3 -1 -2 Sample Output 1 0 0 2 1 -1 -2 The figure below shows the positional relationship of the three people. Sample Input 2 3 2 2 1 -2 -1 2 3 -3 -3 Sample Output 2 0 0 2 1 -1 -2 The figure below shows the positional relationship of the three people. Sample Input 3 5 7 1 2 0 0 1 2 0 0 2 3 0 0 3 1 0 0 2 1 0 0 3 2 0 0 4 5 0 0 Sample Output 3 0 0 0 0 0 0 undecidable undecidable The same piece of information may be given multiple time …(truncated)
You are given N linear functions f_1, f_2, \ldots, f_N, where f_i(x) = A_i x + B_i.
Find the maximum possible value of f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) for a sequence p = (p_1, p_2, \ldots, p_K) of K distinct integers between 1 and N, inclusive.
Input
The input is given from Standard Input in the following format:
N K
A_1 B_1
A_2 B_2
\vdots
A_N B_N
Output
Print the answer as an integer.
Constraints
- 1 \leq N \leq 2 \times 10^{5}
- 1 \leq K \leq \text{min}(N,10)
- 1 \leq A_i, B_i \leq 50 (1 \leq i \leq N)
- All input values are integers.
Sample Input 1
3 2
2 3
1 5
4 2
Sample Output 1
26
Here are all possible p and the corresponding values of f_{p_1}(f_{p_2}(1)):
- p= ( 1,2 ) : f_1(f_2(1))=15
- p= ( 1,3 ) : f_1(f_3(1))=15
- p= ( 2,1 ) : f_2(f_1(1))=10
- p= ( 2,3 ) : f_2(f_3(1))=11
- p= ( 3,1 ) : f_3(f_1(1))=22
- p= ( 3,2 ) : f_3(f_2(1))=26
Therefore, print 26.
Sample Input 2
10 3
48 40
34 22
24 37
45 40
48 31
49 44
45 40
44 6
35 22
39 28
Sample Output 2
216223import sys
import itertools
# Read input
N, K = map(int, sys.stdin.readline().split())
functions = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
# Define a function to evaluate a single function
def evaluate_function(x, a, b):
return a * x + b
# Generate all permutations of the sequence p
permutations = list(itertools.permutations(range(1, N + 1), K))
# Initialize the maximum value to a very small number
max_value = float('-inf')
# Evaluate each permutation and find the maximum value
for perm in permutations:
current_value = 1
for i in perm:
current_value = evaluate_function(current_value, *functions[i - 1])
max_value = max(max_value, current_value)
# Print the result
print(max_value)harness timeout
You are given positive integers N and K.
An integer sequence of length NK where each integer from 1 to N appears exactly K times is called a good integer sequence.
Let S be the number of good integer sequences.
Find the \operatorname{floor}((S+1)/2)-th good integer sequence in lexicographical order.
Here, \operatorname{floor}(x) represents the largest integer not exceeding x.
What is lexicographical order for sequences?
A sequence S = (S_1,S_2,\ldots,S_{|S|}) is lexicographically smaller than a sequence T = (T_1,T_2,\ldots,T_{|T|}) if either 1. or 2. below holds.
Here, |S| and |T| represent the lengths of S and T, respectively.
- |S| \lt |T| and (S_1,S_2,\ldots,S_{|S|}) = (T_1,T_2,\ldots,T_{|S|}).
- There exists an integer 1 \leq i \leq \min\lbrace |S|, |T| \rbrace such that both of the following hold:
- (S_1,S_2,\ldots,S_{i-1}) = (T_1,T_2,\ldots,T_{i-1})
- S_i is (numerically) smaller than T_i.
Input
The input is given from Standard Input in the following format:
N K
Output
Print the desired integer sequence, with elements separated by spaces.
Constraints
- 1 \leq N \leq 500
- 1 \leq K \leq 500
- All input values are integers.
Sample Input 1
2 2
Sample Output 1
1 2 2 1
There are six good integer sequences:
- (1,1,2,2)
- (1,2,1,2)
- (1,2,2,1)
- (2,1,1,2)
- (2,1,2,1)
- (2,2,1,1)
Therefore, the answer is the 3rd sequence in lexicographical order, (1,2,2,1).
Sample Input 2
1 5
Sample Output 2
1 1 1 1 1
Sample Input 3
6 1
Sample Output 3
3 6 5 4
…(truncated)from itertools import cycle
def find_lexicographical_sequence(N, K):
# Create a list of all possible numbers from 1 to N and repeat it K times
sequence = list(cycle(range(1, N + 1))) * K
# Sort the sequence in lexicographical order
sequence.sort()
# Find the (S+1)/2-th element in the sorted sequence
target_index = (len(sequence) + 1) // 2 - 1
# Return the target element
return sequence[target_index]
# Read input
N, K = map(int, input().split())
# Find and print the lexicographical sequence
print(find_lexicographical_sequence(N, K))harness timeout
You are given an integer N. Print a string S that satisfies all of the following conditions. If no such string exists, print -1.
- S is a string of length between 1 and 1000, inclusive, consisting of the characters 1, 2, 3, 4, 5, 6, 7, 8, 9, and * (multiplication symbol).
- S is a palindrome.
- The first character of S is a digit.
- The value of S when evaluated as a formula equals N.
Input
The input is given from Standard Input in the following format:
N
Output
If there is a string S that satisfies the conditions exists, print such a string. Otherwise, print -1.
Constraints
- 1 \leq N \leq 10^{12}
- N is an integer.
Sample Input 1
363
Sample Output 1
11*3*11
S = 11*3*11 satisfies the conditions in the problem statement. Another string that satisfies the conditions is S= 363.
Sample Input 2
101
Sample Output 2
-1
Note that S must not contain the digit 0.
Sample Input 3
3154625100
Sample Output 3
2*57*184481*75*2# YOUR CODE HERE
import sys
def is_valid_string(S):
try:
# Evaluate the expression represented by the string
result = eval(S)
# Check if the result is equal to N and if the string is a valid palindrome
return result == int(input()) and S == S[::-1]
except Exception:
return False
def find_palindrome_for_N(N):
for length in range(1, min(1001, N) + 1):
# Generate all possible strings of the given length with digits and '*'
for i in range(10**length):
# Convert the number to a string and replace '*' with all possible digits
for j in range(10):
S = str(i).replace('*', str(j))
if is_valid_string(S):
return S
return -1
# Read input
N = int(input())
# Find and print the palindrome string for N
result = find_palindrome_for_N(N)
print(result)harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 426 | 82.7% |
| timeout | 42 | 8.2% |
| runtime_error | 47 | 9.1% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 83 | 185 | 158 |
| timeout | 2 | 25 | 15 |
| runtime_error | 6 | 18 | 23 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 17 | 36.2% |
| ValueError | 13 | 27.7% |
| TypeError | 6 | 12.8% |
| NameError | 5 | 10.6% |
| EOFError | 3 | 6.4% |
| RecursionError | 2 | 4.3% |
| AttributeError | 1 | 2.1% |
A 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
def main():
n = int(input())
for i in range(n, 1000):
if i % 10 == 0:
continue
if i % 100 == 0:
continue
if i % 1000 == 0:
continue
if i % 10000 == 0:
continue
if i % 100000 == 0:
continue
if i % 1000000 == 0:
continue
if i % 10000000 == 0:
continue
if i % 100000000 == 0:
continue
if i % 1000000000 == 0:
continue
if i % 10000000000 == 0:
continue
if i % 100000000000 == 0:
continue
if i % 1000000000000 == 0:
continue
if i % 10000000000000 == 0:
continue
if i % 100000000000000 == 0:
continue
if i % 1000000000000000 == 0:
continue
if i % 10000000000000000 == 0:
continue
if i % 100000000000000000 == 0:
continue
if i % 1000000000000000000 == 0:
continue
if i % 10000000000000000000 == 0:
continue
if i % 100000000000000000000 == 0:
continue
if i % 1000000000000000000000 == 0:
continue
if i % 10000000000000000000000 == 0:
continue
if i % 100000000000000000000000 == 0:
continue
if i % 1000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000000000000000000000000 == 0:
continue
if i % 100000000000000000000000000000000000000000000000000 == 0:
continue
if i % 1000000000000000000000000000000000000000000000000000 == 0:
continue
if i % 10000000000000000000000000000000Error during testing: expected ':' (<string>, line 106)
You are given two integers A and B, each between 0 and 9, inclusive. Print any integer between 0 and 9, inclusive, that is not equal to A + B. Input The input is given from Standard Input in the following format: A B Output Print any integer between 0 and 9, inclusive, that is not equal to A + B. Constraints - 0 \leq A \leq 9 - 0 \leq B \leq 9 - A + B \leq 9 - A and B are integers. Sample Input 1 2 5 Sample Output 1 2 When A = 2, B = 5, we have A + B = 7. Thus, printing any of 0, 1, 2, 3, 4, 5, 6, 8, 9 is correct. Sample Input 2 0 0 Sample Output 2 9 Sample Input 3 7 1 Sample Output 3 4
a, b = map(int, input().split())
for i in range(10):
if i != a + b:
print(i)
breakWrong answer at output_line_idx=0: 0 != 2
2
0
A repunit is an integer whose digits are all 1 in decimal representation. The repunits in ascending order are 1, 11, 111, \ldots. Find the N-th smallest integer that can be expressed as the sum of exactly three repunits. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 333, inclusive. Sample Input 1 5 Sample Output 1 113 The integers that can be expressed as the sum of exactly three repunits are 3, 13, 23, 33, 113, \ldots in ascending order. For example, 113 can be expressed as 113 = 1 + 1 + 111. Note that the three repunits do not have to be distinct. Sample Input 2 19 Sample Output 2 2333 Sample Input 3 333 Sample Output 3 112222222233
def main():
n = int(input())
repunits = [1]
for i in range(1, 334):
repunits.append(repunits[-1] * 10 + 1)
ans = 0
for i in range(333, 0, -1):
if n >= repunits[i]:
ans += repunits[i]
n -= repunits[i]
print(ans)
main()Wrong answer at output_line_idx=0: 0 != 113
113
0
TimeoutExceptionYou are given an integer B.
If there exists a positive integer A such that A^A = B, print its value; otherwise, output -1.
Input
The input is given from Standard Input in the following format:
B
Output
If there exists a positive integer A such that A^A = B, print its value; otherwise, print -1.
If there are multiple positive integers A such that A^A = B, any of them will be accepted.
Constraints
- 1 \leq B \leq 10^{18}
- B is an integer.
Sample Input 1
27
Sample Output 1
3
3^3 = 27, so print 3.
Sample Input 2
100
Sample Output 2
-1
There is no A such that A^A = B.
Sample Input 3
10000000000
Sample Output 3
10def main():
b = int(input())
for i in range(1, 10000000000):
if i ** i == b:
print(i)
return
print(-1)
main()Time Limit Exceeded
-1
TimeoutExceptionYou are given a positive integer D.
Find the minimum value of |x^2+y^2-D| for non-negative integers x and y.
Input
The input is given from Standard Input in the following format:
D
Output
Print the answer.
Constraints
- 1\leq D \leq 2\times 10^{12}
- All input values are integers.
Sample Input 1
21
Sample Output 1
1
For x=4 and y=2, we have |x^2+y^2-D| = |16+4-21|=1.
There are no non-negative integers x and y such that |x^2+y^2-D|=0, so the answer is 1.
Sample Input 2
998244353
Sample Output 2
0
Sample Input 3
264428617
Sample Output 3
32def minimum_difference(D):
x = 0
y = 0
while x**2 + y**2 < D:
y += 1
while x**2 + y**2 > D:
x += 1
return min(abs(x**2 + y**2 - D), abs((x-1)**2 + y**2 - D), abs(x**2 + (y-1)**2 - D), abs((x-1)**2 + (y-1)**2 - D))
def main():
D = int(input())
print(minimum_difference(D))
main()Time Limit Exceeded
1
TimeoutExceptionA non-negative integer X is called a palindrome number if its decimal representation (without leading zeros) is a palindrome.
For example, 363, 12344321, and 0 are all palindrome numbers.
Find the N-th smallest palindrome number.
Input
The input is given from Standard Input in the following format:
N
Output
Print the N-th smallest palindrome number.
Constraints
- 1 \leq N \leq 10^{18}
- N is an integer.
Sample Input 1
46
Sample Output 1
363
The 46th smallest palindrome number is 363.
Sample Input 2
1
Sample Output 2
0
Sample Input 3
1000000000000000000
Sample Output 3
90000000000000000000000000000000009def is_palindrome(n):
return str(n) == str(n)[::-1]
def find_nth_palindrome(n):
count = 0
i = 0
while count < n:
if is_palindrome(i):
count += 1
if count == n:
return i
i += 1
n = int(input())
print(find_nth_palindrome(n))Time Limit Exceeded
90000000000000000000000000000000009
ValueErrorA regular pentagon P is shown in the figure below. Determine whether the length of the line segment connecting points S_1 and S_2 of P equals the length of the line segment connecting points T_1 and T_2. Input The input is given from Standard Input in the following format: S_1S_2 T_1T_2 Output If the length of the line segment connecting points S_1 and S_2 of P equals the length of the line segment connecting points T_1 and T_2, print Yes; otherwise, print No. Constraints - Each of S_1, S_2, T_1, and T_2 is one of the characters A, B, C, D, and E. - S_1 \neq S_2 - T_1 \neq T_2 Sample Input 1 AC EC Sample Output 1 Yes The length of the line segment connecting point A and point C of P equals the length of the line segment connecting point E and point C. Sample Input 2 DA EA Sample Output 2 No The length of the line segment connecting point D and point A of P does not equal the length of the line segment connecting point E and point A. Sample Input 3 BD BD Sample Output 3 Yes
def main():
s1, s2 = input().split()
t1, t2 = input().split()
if s1 == t1 and s2 == t2:
print("Yes")
elif s1 == t2 and s2 == t1:
print("Yes")
else:
print("No")
main()Runtime Error
Yes
TypeErrorGiven a positive integer n, return the punishment number of n. The punishment number of n is defined as the sum of the squares of all integers i such that: 1 <= i <= n The decimal representation of i * i can be partitioned into contiguous substrings such that the sum of the integer values of these substrings equals i. Example 1: Input: n = 10 Output: 182 Explanation: There are exactly 3 integers i that satisfy the conditions in the statement: - 1 since 1 * 1 = 1 - 9 since 9 * 9 = 81 and 81 can be partitioned into 8 + 1. - 10 since 10 * 10 = 100 and 100 can be partitioned into 10 + 0. Hence, the punishment number of 10 is 1 + 81 + 100 = 182 Example 2: Input: n = 37 Output: 1478 Explanation: There are exactly 4 integers i that satisfy the conditions in the statement: - 1 since 1 * 1 = 1. - 9 since 9 * 9 = 81 and 81 can be partitioned into 8 + 1. - 10 since 10 * 10 = 100 and 100 can be partitioned into 10 + 0. - 36 since 36 * 36 = 1296 and 1296 can be partitioned into 1 + 29 + 6. Hence, the punishment number of 37 is 1 + 81 + 100 + 1296 = 1478 Constraints: 1 <= n <= 1000
class Solution:
def punishmentNumber(self, n: int) -> int:
def dfs(i: int, j: int, s: int, t: int) -> bool:
if i == j:
return s == t
return dfs(i + 1, j, s + t, 0) or dfs(i + 1, j, s, 10 * t + int(s[i]))
return sum(i * i if dfs(str(i * i), 0, 0, 0) else 0 for i in range(1, n + 1))Runtime Error
182
NameErrorThere are N people numbered 1 to N on a coordinate plane. Person 1 is at the origin. You are given M pieces of information in the following form: - From person A_i's perspective, person B_i is X_i units away in the positive x-direction and Y_i units away in the positive y-direction. Determine the coordinates of each person. If the coordinates of a person cannot be uniquely determined, report that fact. Input The input is given from Standard Input in the following format: N M A_1 B_1 X_1 Y_1 \vdots A_M B_M X_M Y_M Output Print N lines. If the coordinates of person i cannot be uniquely determined, the i-th line should contain undecidable. If they can be uniquely determined as (s_i,t_i), the i-th line should contain s_i and t_i in this order, separated by a space. Constraints - 1 \leq N \leq 2\times 10^5 - 0 \leq M \leq 2\times 10^5 - 1\leq A_i, B_i \leq N - A_i \neq B_i - -10^9 \leq X_i,Y_i \leq 10^9 - All input values are integers. - The given information is consistent. Sample Input 1 3 2 1 2 2 1 1 3 -1 -2 Sample Output 1 0 0 2 1 -1 -2 The figure below shows the positional relationship of the three people. Sample Input 2 3 2 2 1 -2 -1 2 3 -3 -3 Sample Output 2 0 0 2 1 -1 -2 The figure below shows the positional relationship of the three people. Sample Input 3 5 7 1 2 0 0 1 2 0 0 2 3 0 0 3 1 0 0 2 1 0 0 3 2 0 0 4 5 0 0 Sample Output 3 0 0 0 0 0 0 undecidable undecidable The same piece of information may be given multiple time …(truncated)
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
A = [0] * (N + 1)
B = [0] * (N + 1)
X = [0] * (N + 1)
Y = [0] * (N + 1)
for i in range(M):
a, b, x, y = map(int, input().split())
A[a] += 1
B[b] += 1
X[a] += x
Y[a] += y
X[b] -= x
Y[b] -= y
for i in range(1, N + 1):
if A[i] == 0:
print(undecidable)
else:
print(X[i] // A[i], Y[i] // A[i])Runtime Error
0 0 2 1 -1 -2
| category | count | % of failures |
|---|---|---|
| wrong_answer | 42585 | 75.3% |
| timeout | 2432 | 4.3% |
| runtime_error | 11518 | 20.4% |
| harness_timeout | 19 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 10384 | 18829 | 13372 |
| timeout | 141 | 1253 | 1038 |
| runtime_error | 2078 | 4272 | 5168 |
| harness_timeout | 15 | 4 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 3264 | 28.3% |
| ValueError | 3168 | 27.5% |
| TypeError | 2295 | 19.9% |
| NameError | 752 | 6.5% |
| EOFError | 569 | 4.9% |
| UnboundLocalError | 326 | 2.8% |
| KeyError | 296 | 2.6% |
| RecursionError | 267 | 2.3% |
| AttributeError | 228 | 2.0% |
| ZeroDivisionError | 140 | 1.2% |
| FileNotFoundError | 67 | 0.6% |
| RuntimeError | 46 | 0.4% |
| OverflowError | 30 | 0.3% |
| StopIteration | 21 | 0.2% |
| AssertionError | 16 | 0.1% |
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
num = input() for i in range(9): print(num * int(num))
Wrong answer: mismatched output length
333
333 333 333 333 333 333 333 333 333
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
def main():
N = input()
print(str(int(N) * int(N)))
main()Wrong answer at output_line_idx=0: 9 != 333
333
9
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
from sys import stdin from collections import deque read = stdin.buffer.read readline = stdin.buffer.readline readlines = stdin.buffer.readlines S = input() print(int(S) * int(S))
Wrong answer at output_line_idx=0: 9 != 333
333
9
TimeoutExceptionYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
s = set()
ans = 0
while len(s) < n:
x = 1 + len(s)
if k - x not in s:
ans += x
s.add(x)
return ansTime Limit Exceeded
18
TimeoutExceptionYou are given two integers, n and k. An array of distinct positive integers is called a k-avoiding array if there does not exist any pair of distinct elements that sum to k. Return the minimum possible sum of a k-avoiding array of length n. Example 1: Input: n = 5, k = 4 Output: 18 Explanation: Consider the k-avoiding array [1,2,4,5,6], which has a sum of 18. It can be proven that there is no k-avoiding array with a sum less than 18. Example 2: Input: n = 2, k = 6 Output: 3 Explanation: We can construct the array [1,2], which has a sum of 3. It can be proven that there is no k-avoiding array with a sum less than 3. Constraints: 1 <= n, k <= 50
class Solution:
def minimumSum(self, n: int, k: int) -> int:
ans = 0
s = set()
for i in range(1, k // 2 + 1):
while len(s) < n and k - i not in s:
s.add(i)
ans += i
return ans + sum(range(k, k + n - len(s)))Time Limit Exceeded
18
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
def smallest_326_like_number(N):
n = N // 10
while True:
abs_n = n // 10
ones_digit = n % 10
for i in range(1, 10):
if abs_n * i == ones_digit:
return n * 10 + i
N = int(input())
print(smallest_326_like_number(N))Time Limit Exceeded
326
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
n = int(input())
print(str(n) * n)
print(int(str(n) * n))
def concat(n):
string = str(n)
ans = ""
for i in range(n):
ans += string
return ans
n = int(input())
print(concat(n))
def concat(n, string):
ans = ""
for i in range(n):
ans += string
return ans
n = int(input())
print(concat(n, str(n)))
def main():
n = int(input())
print(str(n) * n)
main()Runtime Error
333
TypeErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
# n is a string n = input() # n * n is a repeated string print(n * n)
Runtime Error
333
TypeErrorYou are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
return sum(self.isSymmetric(i) for i in range(low, high + 1))
def isSymmetric(self, num: int) -> bool:
s = str(num)
n = len(s)
if n % 2:
return False
left, right = map(sum, zip(*[map(int, s[i]) for i in (range(n // 2), range(n - 1, n // 2 - 1, -1))]))
return left == rightRuntime Error
9
You have an empty bag.
You are given Q queries, which must be processed in order.
There are three types of queries.
- 1 x : Put one ball with the integer x written on it into the bag.
- 2 x : Remove one ball with the integer x written on it from the bag and discard it. It is guaranteed that the bag has a ball with the integer x written on it when this query is given.
- 3 : Print the number of different integers written on the balls in the bag.
Input
The input is given from Standard Input in the following format:
Q
\text{query}_1
\text{query}_2
\vdots
\text{query}_Q
The i-th query \text{query}_i is given in one of the following three formats:
1 x
2 x
3
Output
If there are K queries of the third type, print K lines.
The i-th line (1 \leq i \leq K) should contain the answer to the i-th query of the third type.
Constraints
- 1 \leq Q \leq 2 \times 10^{5}
- 1 \leq x \leq 10^{6}
- When a query of the second type is given, the bag has a ball with the integer x written on it.
- There is at least one query of the third type.
- All input values are integers.
Sample Input 1
8
1 3
1 1
1 4
3
2 1
3
1 5
3
Sample Output 1
3
2
3
Initially, the bag is empty.
For the first query 1 3, a ball with the integer 3 written on it enters the bag.
For the second query 1 1, a ball with the integer 1 written on it enters the bag.
For the third query 1 4, a ball with the integer 4 written on it enters the bag.
For the fourth query 3, the bag has balls with the integers 1
…(truncated)from collections import defaultdict
class RangeUpdateQuery:
def __init__(self, n):
self.n = n
self.tree = [0] * ((n + 1) << 2)
def add(self, l, r, v, a=0, b=None, ind=1):
if b is None:
b = self.n
if b < l or r < a:
return
if l <= a and b <= r:
self.tree[ind] += v
else:
m = a + b >> 1
self.add(l, r, v, a, m, ind << 1)
self.add(l, r, v, m + 1, b, ind << 1 | 1)
self.tree[ind] = self.tree[ind << 1] + self.tree[ind << 1 | 1]
def sum(self, ind, a, b, i):
if a == b:
return self.tree[ind]
m = a + b >> 1
if i <= m:
return self.tree[ind] + self.sum(ind << 1, a, m, i)
else:
return self.tree[ind] + self.sum(ind << 1 | 1, m + 1, b, i)
def main():
n = int(input())
qr = [(0, 0, 0)] * n
q = 0
for i in range(n):
line = input().split()
op = int(line[0])
if op == 1:
x = int(line[1])
qr[i] = (1, x, q + x)
q += x
elif op == 2:
x = int(line[1])
qr[i] = (2, x, q)
q += -1
else:
qr[i] = (3, 0, q)
ruq = RangeUpdateQuery(q)
counter = defaultdict(int)
answer = []
for op, x, v in qr:
if op == 1:
counter[x] += 1
ruq.add(v, v, 1)
elif op == 2:
ruq.add(v, v, -1)
counter[x] -= 1
if counter[x] == 0:
del counter[x]
else:
answer.append(len(counter))
for op, x, v in qr:
if op == 3:
ruq.add(v, v, -1)
print('\n'.join(map(str, answer)))
main()harness timeout
We call a positive integer n a good integer if and only if the sum of its positive divisors is divisible by 3.
You are given two positive integers N and M. Find the number, modulo 998244353, of length-M sequences A of positive integers such that the product of the elements in A is a good integer not exceeding N.
Input
The input is given from Standard Input in the following format:
N M
Output
Print the answer.
Constraints
- 1 \leq N \leq 10^{10}
- 1 \leq M \leq 10^5
- N and M are integers.
Sample Input 1
10 1
Sample Output 1
5
There are five sequences that satisfy the conditions:
- (2)
- (5)
- (6)
- (8)
- (10)
Sample Input 2
4 2
Sample Output 2
2
There are two sequences that satisfy the conditions:
- (1, 2)
- (2, 1)
Sample Input 3
370 907
Sample Output 3
221764640
Sample Input 4
10000000000 100000
Sample Output 4
447456146# プリナム
# http://abc086.contest.atcoder.jp/submissions/4148353
# https://docs.google.com/document/d/1V7Sf3HbZJTeFb8DPR2I8Bq5vXWd3YCKC39nx4qWMW8U/edit#heading=h.1jh8df1b7zp3
# https://docs.google.com/document/d/1V7Sf3HbZJTeFb8DPR2I8Bq5vXWd3YCKC39nx4qWMW8U/edit#heading=h.ar28u8xgq6ie
# http://abc086.contest.atcoder.jp/submissions/4148353
mod = 998244353
P = [2, 3, 5, 7, 11, 13, 17, 19, 23]
P3 = [p**3 for p in P]
nmax = 10**10
N = 10**5
A = [1] + [0]*(nmax)
for i in range(nmax//2):
A[i*2+1] = 1
for i in range(nmax//3):
A[i*3+1] = 1
for i in range(nmax//5):
A[i*5+1] = 1
for p in P3:
def g(x, e):
# (∑x^i)^e を p^3 で割った余り
mi = pow(p-1, e, p**3)
return (p**e-mi)//(p**2-1) if mi != 0 else 0
im = pow(-1, e, p**3)
im = pow(im, (p**3-1)//2, p**3)
im = pow(im, e, p**3)
for e in range(1, 100000):
for k in range(1, nmax//p**e+1):
A[k*p**e] = (g(k, e) + im*A[k])%p**3
for i in range(1, nmax+1):
A[i] = pow(A[i], 3, mod)
for i in range(nmax):
A[i] += 1
A[0] = 0
A = A[1:]
for e in range(2, 100000):
for k in range(nmax//e):
A[k*e] = (A[k*e] + mod - A[k])%mod
A[k*e] = (A[k*e] + mod - A[k])%mod
A[k*e] = (A[k*e] + mod - A[k])%mod
print(A)
def C(n, k):
# nCk を mod で割った余り
r = 1
for i in range(k):
r *= n-i
r %= mod
for i in range(k):
r *= pow(i+1, mod-2, mod)
r %= mod
return r
n, m = map(int, input().split())
ans = 0
for i in range(1, m+1):
ans += C(m, i)*pow(A[n], i, mod)%mod
ans %= mod
print(ans)harness timeout
You are given a string S of length N consisting of digits.
Find the number of square numbers that can be obtained by interpreting a permutation of S as a decimal integer.
More formally, solve the following.
Let s _ i be the number corresponding to the i-th digit (1\leq i\leq N) from the beginning of S.
Find the number of square numbers that can be represented as \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} with a permutation P=(p _ 1,p _ 2,\ldots,p _ N) of (1, \dots, N).
Input
The input is given from Standard Input in the following format:
N
S
Output
Print the answer in a single line.
Constraints
- 1\leq N\leq 13
- S is a string of length N consisting of digits.
- N is an integer.
Sample Input 1
4
4320
Sample Output 1
2
For P=(4,2,3,1), we have s _ 4\times10 ^ 3+s _ 2\times10 ^ 2+s _ 3\times10 ^ 1+s _ 1=324=18 ^ 2.
For P=(3,2,4,1), we have s _ 3\times10 ^ 3+s _ 2\times10 ^ 2+s _ 4\times10 ^ 1+s _ 1=2304=48 ^ 2.
No other permutations result in square numbers, so you should print 2.
Sample Input 2
3
010
Sample Output 2
2
For P=(1,3,2) or P=(3,1,2), we have \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2.
For P=(2,1,3) or P=(2,3,1), we have \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2.
No other permutations result in square numbers, so you should print 2.
Note that different permutations are not distinguished if they result in the same number.
Sample Input 3
13
8694027811503
Sample Output 3
840from itertools import permutations
def get_square_num(S):
N = len(S)
ans = 0
for perm in set(permutations(S)):
num = int(''.join(list(perm)))
if num ** 0.5 == int(num ** 0.5):
ans += 1
return ans
def main():
N = int(input())
S = input()
print(get_square_num(S))
main()harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 358 | 77.0% |
| timeout | 60 | 12.9% |
| runtime_error | 46 | 9.9% |
| no_code | 1 | 0.2% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 57 | 162 | 139 |
| timeout | 2 | 27 | 31 |
| runtime_error | 7 | 17 | 22 |
| no_code | 1 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 21 | 45.7% |
| TypeError | 6 | 13.0% |
| ValueError | 6 | 13.0% |
| RecursionError | 4 | 8.7% |
| UnboundLocalError | 3 | 6.5% |
| KeyError | 2 | 4.3% |
| StopIteration | 1 | 2.2% |
| ZeroDivisionError | 1 | 2.2% |
| NameError | 1 | 2.2% |
| OverflowError | 1 | 2.2% |
You are given an integer n. A string s is called good if it contains only lowercase English characters and it is possible to rearrange the characters of s such that the new string contains "leet" as a substring. For example: The string "lteer" is good because we can rearrange it to form "leetr" . "letl" is not good because we cannot rearrange it to contain "leet" as a substring. Return the total number of good strings of length n. Since the answer may be large, return it modulo 10^9 + 7. A substring is a contiguous sequence of characters within a string. Example 1: Input: n = 4 Output: 12 Explanation: The 12 strings which can be rearranged to have "leet" as a substring are: "eelt", "eetl", "elet", "elte", "etel", "etle", "leet", "lete", "ltee", "teel", "tele", and "tlee". Example 2: Input: n = 10 Output: 83943898 Explanation: The number of strings with length 10 which can be rearranged to have "leet" as a substring is 526083947580. Hence the answer is 526083947580 % (10^9 + 7) = 83943898. Constraints: 1 <= n <= 10^5
class Solution:
def stringCount(self, n: int) -> int:
MOD = 10**9 + 7
if n < 4:
return 0
if n == 4:
return 24
dp = [0] * (n + 1)
dp[4] = 24
for i in range(5, n + 1):
dp[i] = (26 * dp[i - 1] - 25 * dp[i - 4]) % MOD
return dp[n]Wrong Answer
12
24
A supermarket sells egg packs. A pack of 6 eggs costs S yen, a pack of 8 eggs costs M yen, and a pack of 12 eggs costs L yen. When you can buy any number of each pack, find the minimum amount of money required to purchase at least N eggs. Input The input is given from Standard Input in the following format: N S M L Output Print the answer. Constraints - 1 \leq N \leq 100 - 1 \leq S,M,L \leq 10^4 - All input values are integers. Sample Input 1 16 120 150 200 Sample Output 1 300 It is optimal to buy two 8-egg packs. Sample Input 2 10 100 50 10 Sample Output 2 10 It is optimal to buy one 12-egg pack. Sample Input 3 99 600 800 1200 Sample Output 3 10000 It is optimal to buy five 8-egg packs and five 12-egg packs.
import sys
# Read input from stdin
input = sys.stdin.read
data = input().split()
# Parse the input
N = int(data[0])
S = int(data[1])
M = int(data[2])
L = int(data[3])
# Initialize the minimum cost to a large number
min_cost = float('inf')
# Iterate over all possible combinations of packs
for x in range(N // 12 + 1):
for y in range(N // 8 + 1):
for z in range(N // 6 + 1):
if 12 * x + 8 * y + 6 * z >= N:
cost = L * x + M * y + S * z
if cost < min_cost:
min_cost = cost
# Print the minimum cost
print(min_cost)Wrong answer at output_line_idx=0: 150 != 10
10
150
You are given two integers A and B, each between 0 and 9, inclusive. Print any integer between 0 and 9, inclusive, that is not equal to A + B. Input The input is given from Standard Input in the following format: A B Output Print any integer between 0 and 9, inclusive, that is not equal to A + B. Constraints - 0 \leq A \leq 9 - 0 \leq B \leq 9 - A + B \leq 9 - A and B are integers. Sample Input 1 2 5 Sample Output 1 2 When A = 2, B = 5, we have A + B = 7. Thus, printing any of 0, 1, 2, 3, 4, 5, 6, 8, 9 is correct. Sample Input 2 0 0 Sample Output 2 9 Sample Input 3 7 1 Sample Output 3 4
# YOUR CODE HERE
import sys
# Read input from stdin
A, B = map(int, sys.stdin.readline().split())
# Calculate the sum of A and B
sum_AB = A + B
# Print any integer between 0 and 9 that is not equal to A + B
for i in range(10):
if i != sum_AB:
print(i)
breakWrong answer at output_line_idx=0: 0 != 2
2
0
TimeoutExceptionYou are given an integer B.
If there exists a positive integer A such that A^A = B, print its value; otherwise, output -1.
Input
The input is given from Standard Input in the following format:
B
Output
If there exists a positive integer A such that A^A = B, print its value; otherwise, print -1.
If there are multiple positive integers A such that A^A = B, any of them will be accepted.
Constraints
- 1 \leq B \leq 10^{18}
- B is an integer.
Sample Input 1
27
Sample Output 1
3
3^3 = 27, so print 3.
Sample Input 2
100
Sample Output 2
-1
There is no A such that A^A = B.
Sample Input 3
10000000000
Sample Output 3
10import sys
# Read input from stdin
B = int(sys.stdin.read().strip())
# Initialize the result as -1
result = -1
# Iterate through possible values of A
for A in range(1, 1000000): # 1000000 is an arbitrary large number to ensure we find the solution if it exists
if A ** A == B:
result = A
break
# Print the result
print(result)Time Limit Exceeded
-1
TimeoutExceptionYou are given a weighted undirected graph G with N vertices, numbered 1 to N. Initially, G has no edges.
You will perform M operations to add edges to G. The i-th operation (1 \leq i \leq M) is as follows:
- You are given a subset of vertices S_i=\lbrace A_{i,1},A_{i,2},\dots,A_{i,K_i}\rbrace consisting of K_i vertices.
For every pair u, v such that u, v \in S_i and u < v, add an edge between vertices u and v with weight C_i.
After performing all M operations, determine whether G is connected. If it is, find the total weight of the edges in a minimum spanning tree of G.
Input
The input is given from Standard Input in the following format:
N M
K_1 C_1
A_{1,1} A_{1,2} \dots A_{1,K_1}
K_2 C_2
A_{2,1} A_{2,2} \dots A_{2,K_2}
\vdots
K_M C_M
A_{M,1} A_{M,2} \dots A_{M,K_M}
Output
If G is not connected after all M operations, print -1. If G is connected, print the total weight of the edges in a minimum spanning tree of G.
Constraints
- 2 \leq N \leq 2 \times 10^5
- 1 \leq M \leq 2 \times 10^5
- 2 \leq K_i \leq N
- \sum_{i=1}^{M} K_i \leq 4 \times 10^5
- 1 \leq A_{i,1} < A_{i,2} < \dots < A_{i,K_i} \leq N
- 1 \leq C_i \leq 10^9
- All input values are integers.
Sample Input 1
4 3
3 3
1 2 3
2 2
1 2
3 4
1 3 4
Sample Output 1
9
The left diagram shows G after all M operations, and the right diagram shows a minimum spanning tree of G (the numbers next to the edges indicate their weights).
The total weight of the edges in the minimum spanning tree is 3 + 2 + 4 = 9.
Sample In
…(truncated)import sys
from collections import defaultdict, deque
def find(parent, i):
if parent[i] == i:
return i
parent[i] = find(parent, parent[i])
return parent[i]
def union(parent, rank, x, y):
xroot = find(parent, x)
yroot = find(parent, y)
if rank[xroot] < rank[yroot]:
parent[xroot] = yroot
elif rank[xroot] > rank[yroot]:
parent[yroot] = xroot
else:
parent[yroot] = xroot
rank[xroot] += 1
def kruskal_mst(edges, n):
parent = list(range(n + 1))
rank = [0] * (n + 1)
mst_weight = 0
edges.sort(key=lambda x: x[2])
for u, v, weight in edges:
if find(parent, u) != find(parent, v):
union(parent, rank, u, v)
mst_weight += weight
return mst_weight
def is_connected(parent, n):
root = find(parent, 1)
for i in range(2, n + 1):
if find(parent, i) != root:
return False
return True
def main():
input = sys.stdin.read
data = input().split()
index = 0
n = int(data[index])
m = int(data[index + 1])
index += 2
edges = []
for _ in range(m):
k = int(data[index])
c = int(data[index + 1])
index += 2
subset = set()
for _ in range(k):
subset.add(int(data[index]))
index += 1
for u in subset:
for v in subset:
if u < v:
edges.append((u, v, c))
parent = list(range(n + 1))
for u, v, _ in edges:
union(parent, [0] * (n + 1), u, v)
if not is_connected(parent, n):
print(-1)
return
mst_weight = kruskal_mst(edges, n)
print(mst_weight)
if __name__ == "__main__":
main()Time Limit Exceeded
-1
TimeoutExceptionA positive integer x is called a 321-like Number when it satisfies the following condition. This definition is the same as the one in Problem A. - The digits of x are strictly decreasing from top to bottom. - In other words, if x has d digits, it satisfies the following for every integer i such that 1 \le i < d: - (the i-th digit from the top of x) > (the (i+1)-th digit from the top of x). Note that all one-digit positive integers are 321-like Numbers. For example, 321, 96410, and 1 are 321-like Numbers, but 123, 2109, and 86411 are not. Find the K-th smallest 321-like Number. Input The input is given from Standard Input in the following format: K Output Print the K-th smallest 321-like Number as an integer. Constraints - All input values are integers. - 1 \le K - At least K 321-like Numbers exist. Sample Input 1 15 Sample Output 1 32 The 321-like Numbers are (1,2,3,4,5,6,7,8,9,10,20,21,30,31,32,40,\dots) from smallest to largest. The 15-th smallest of them is 32. Sample Input 2 321 Sample Output 2 9610 Sample Input 3 777 Sample Output 3 983210
import sys
def kth_321_like_number(K):
count = 0
num = 1
while True:
if is_321_like(num):
count += 1
if count == K:
return num
num += 1
def is_321_like(n):
digits = [int(d) for d in str(n)]
for i in range(len(digits) - 1):
if digits[i] <= digits[i + 1]:
return False
return True
# Read input
K = int(sys.stdin.read().strip())
# Output the result
print(kth_321_like_number(K))Time Limit Exceeded
76543210
TypeErrorThere are 7 points A, B, C, D, E, F, and G on a straight line, in this order. (See also the figure below.) The distances between adjacent points are as follows. - Between A and B: 3 - Between B and C: 1 - Between C and D: 4 - Between D and E: 1 - Between E and F: 5 - Between F and G: 9 You are given two uppercase English letters p and q. Each of p and q is A, B, C, D, E, F, or G, and it holds that p \neq q. Find the distance between the points p and q. Input The input is given from Standard Input in the following format: p q Output Print the distance between the points p and q. Constraints - Each of p and q is A,B,C,D,E,F, or G. - p \neq q Sample Input 1 A C Sample Output 1 4 The distance between the points A and C is 3 + 1 = 4. Sample Input 2 G B Sample Output 2 20 The distance between the points G and B is 9 + 5 + 1 + 4 + 1 = 20. Sample Input 3 C F Sample Output 3 10
# YOUR CODE HERE
import sys
# Read input from stdin
input = sys.stdin.read
data = input().split()
# Extract points p and q
p, q = data[0], data[1]
# Define the distances between adjacent points
distances = {
('A', 'B'): 3,
('B', 'C'): 1,
('C', 'D'): 4,
('D', 'E'): 1,
('E', 'F'): 5,
('F', 'G'): 9
}
# Calculate the distance between p and q
if p < q:
distance = sum(distances[(p, p + chr(ord(c) + 1))] for c in range(ord(p) + 1, ord(q)))
else:
distance = sum(distances[(q, q + chr(ord(c) + 1))] for c in range(ord(q) + 1, ord(p)))
# Print the result
print(distance)Runtime Error
4
ValueErrorThere is a tree with N vertices numbered from 1 to N.
The i-th edge connects vertices A_i and B_i.
Here, N is even, and furthermore, this tree has a perfect matching.
Specifically, for each i (1 \leq i \leq N/2), it is guaranteed that A_i=i \times 2-1 and B_i=i \times 2.
You will perform the following operation N/2 times:
- Choose two leaves (vertices with degree exactly 1) and remove them from the tree.
Here, the tree after removal must still have a perfect matching.
In this problem, we consider a graph with zero vertices to be a tree as well.
For each operation, its score is defined as the distance between the two chosen vertices (the number of edges on the simple path connecting the two vertices).
Show one procedure that maximizes the total score.
It can be proved that there always exists a procedure to complete N/2 operations under the constraints of this problem.
Input
The input is given from Standard Input in the following format:
N
A_1 B_1
A_2 B_2
\vdots
A_{N-1} B_{N-1}
Output
Print a solution in the following format:
X_1 Y_1
X_2 Y_2
\vdots
X_{N/2} Y_{N/2}
Here, X_i and Y_i are the two vertices chosen in the i-th operation.
If there are multiple solutions, you may print any of them.
Constraints
- 2 \leq N \leq 250000
- N is even.
- 1 \leq A_i < B_i \leq N (1 \leq i \leq N-1)
- A_i=i \times 2 -1, B_i=i \times 2 (1 \leq i \leq N/2)
- The given graph is a tree.
- All input values are integers.
Sample Input 1
4
1 2
3 4
2 3
Sample Output 1
4
…(truncated)import sys
from collections import defaultdict, deque
# Read input
input = sys.stdin.read
data = input().split()
N = int(data[0])
edges = []
for i in range(N-1):
A = int(data[2*i+1])
B = int(data[2*i+2])
edges.append((A, B))
# Build the tree
tree = defaultdict(list)
for A, B in edges:
tree[A].append(B)
tree[B].append(A)
# Find leaves
leaves = [v for v in tree if len(tree[v]) == 1]
# Perform operations
result = []
for _ in range(N//2):
# Choose the two farthest leaves
leaf1 = leaves.pop()
leaf2 = leaves.pop()
while leaf1 in tree[leaf2]:
leaf2 = tree[leaf2][0]
result.append((leaf1, leaf2))
# Remove the leaves from the tree
tree[leaf1].remove(leaf2)
tree[leaf2].remove(leaf1)
if len(tree[leaf1]) == 1:
leaves.append(leaf1)
if len(tree[leaf2]) == 1:
leaves.append(leaf2)
# Print the result
for x, y in result:
print(x, y)Runtime Error
4 1 2 3
IndexErrorYou are given a sequence of positive integers of length N: H=(H _ 1,H _ 2,\dotsc,H _ N).
There is a sequence of non-negative integers of length N+1: A=(A _ 0,A _ 1,\dotsc,A _ N). Initially, A _ 0=A _ 1=\dotsb=A _ N=0.
Perform the following operations repeatedly on A:
- Increase the value of A _ 0 by 1.
- For i=1,2,\ldots,N in this order, perform the following operation:
- If A _ {i-1}\gt A _ i and A _ {i-1}\gt H _ i, decrease the value of A _ {i-1} by 1 and increase the value of A _ i by 1.
For each i=1,2,\ldots,N, find the number of operations before A _ i>0 holds for the first time.
Input
The input is given from Standard Input in the following format:
N
H _ 1 H _ 2 \dotsc H _ N
Output
Print the answers for i=1,2,\ldots,N in a single line, separated by spaces.
Constraints
- 1\leq N\leq2\times10 ^ 5
- 1\leq H _ i\leq10 ^ 9\ (1\leq i\leq N)
- All input values are integers.
Sample Input 1
5
3 1 4 1 5
Sample Output 1
4 5 13 14 26
The first five operations go as follows.
Here, each row corresponds to one operation, with the leftmost column representing step 1 and the others representing step 2.
From this diagram, A _ 1\gt0 holds for the first time after the 4th operation, and A _ 2\gt0 holds for the first time after the 5th operation.
Similarly, the answers for A _ 3, A _ 4, A _ 5 are 13, 14, 26, respectively.
Therefore, you should print 4 5 13 14 26.
Sample Input 2
6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
Sample Output 2
100000
…(truncated)import sys
# Read input from stdin
input = sys.stdin.read
data = input().split()
# Parse the input
N = int(data[0])
H = list(map(int, data[1:]))
# Initialize the array A
A = [0] * (N + 1)
# Initialize the result list
result = []
# Perform the operations
for i in range(1, N + 1):
operations = 0
while A[i - 1] <= A[i] or A[i - 1] <= H[i]:
A[0] += 1
for j in range(1, N + 1):
if A[j - 1] > A[j] and A[j - 1] > H[j]:
A[j - 1] -= 1
A[j] += 1
operations += 1
result.append(operations)
# Print the result
print(" ".join(map(str, result)))Runtime Error
4 5 13 14 26
There are N rectangular cuboids in a three-dimensional space.
These cuboids do not overlap. Formally, for any two different cuboids among them, their intersection has a volume of 0.
The diagonal of the i-th cuboid is a segment that connects two points (X_{i,1},Y_{i,1},Z_{i,1}) and (X_{i,2},Y_{i,2},Z_{i,2}), and its edges are all parallel to one of the coordinate axes.
For each cuboid, find the number of other cuboids that share a face with it.
Formally, for each i, find the number of j with 1\leq j \leq N and j\neq i such that the intersection of the surfaces of the i-th and j-th cuboids has a positive area.
Input
The input is given from Standard Input in the following format:
N
X_{1,1} Y_{1,1} Z_{1,1} X_{1,2} Y_{1,2} Z_{1,2}
\vdots
X_{N,1} Y_{N,1} Z_{N,1} X_{N,2} Y_{N,2} Z_{N,2}
Output
Print the answer.
Constraints
- 1 \leq N \leq 10^5
- 0 \leq X_{i,1} < X_{i,2} \leq 100
- 0 \leq Y_{i,1} < Y_{i,2} \leq 100
- 0 \leq Z_{i,1} < Z_{i,2} \leq 100
- Cuboids do not have an intersection with a positive volume.
- All input values are integers.
Sample Input 1
4
0 0 0 1 1 1
0 0 1 1 1 2
1 1 1 2 2 2
3 3 3 4 4 4
Sample Output 1
1
1
0
0
The 1-st and 2-nd cuboids share a rectangle whose diagonal is the segment connecting two points (0,0,1) and (1,1,1).
The 1-st and 3-rd cuboids share a point (1,1,1), but do not share a surface.
Sample Input 2
3
0 0 10 10 10 20
3 4 1 15 6 10
0 9 6 1 20 10
Sample Output 2
2
1
1
Sample Input 3
8
0 0 0 1 1 1
0 0 1 1 1 2
0
…(truncated)| category | count | % of failures |
|---|---|---|
| wrong_answer | 36786 | 76.3% |
| timeout | 5025 | 10.4% |
| runtime_error | 6322 | 13.1% |
| no_code | 79 | 0.2% |
| harness_timeout | 20 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 6841 | 16118 | 13827 |
| timeout | 144 | 2331 | 2550 |
| runtime_error | 869 | 2447 | 3006 |
| no_code | 18 | 25 | 36 |
| harness_timeout | 11 | 9 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 2589 | 41.0% |
| ValueError | 1121 | 17.7% |
| TypeError | 1005 | 15.9% |
| KeyError | 396 | 6.3% |
| NameError | 359 | 5.7% |
| RecursionError | 281 | 4.4% |
| UnboundLocalError | 204 | 3.2% |
| ZeroDivisionError | 102 | 1.6% |
| FileNotFoundError | 99 | 1.6% |
| AttributeError | 61 | 1.0% |
| StopIteration | 25 | 0.4% |
| RuntimeError | 22 | 0.3% |
| EOFError | 20 | 0.3% |
| OverflowError | 15 | 0.2% |
| MemoryError | 11 | 0.2% |
You are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
# YOUR CODE HERE from sys import stdin, stdout # Read input from stdin A, B = map(int, stdin.readline().split()) # Calculate A^B + B^A result = A**B + B**A # Write the result to stdout stdout.write(str(result))
Wrong answer at output_line_idx=0: != 320
320
You are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
N = input() print(int(N) * int(N))
Wrong answer at output_line_idx=0: 9 != 333
333
9
Takahashi eats three plates for breakfast: rice, miso soup, and salad. His table is long and narrow, so he arranged the three plates in a row. The arrangement is given by a string S, where the i-th plate from the left is rice if S_i is R, miso soup if S_i is M, and salad if S_i is S. Determine whether the plate of rice is to the left of the plate of miso soup. Input The input is given from Standard Input in the following format: S Output Print Yes if the plate of rice is to the left of the plate of miso soup, and No otherwise. Constraints - |S| = 3 - S contains one R, one M, and one S. Sample Input 1 RSM Sample Output 1 Yes The plate of rice is at the 1st position from the left, and the plate of miso soup is at the 3rd position from the left. Since the plate of rice is to the left, print Yes. Sample Input 2 SMR Sample Output 2 No The plates are arranged as salad, miso soup, and rice from left to right.
# YOUR CODE HERE
import sys
input = sys.stdin.read
data = input().strip()
if data[0] == 'R' and data[1] != 'R' and data[2] != 'R':
if data[1] == 'M' or data[2] == 'M':
print("Yes")
else:
print("No")
else:
print("No")Wrong answer at output_line_idx=0: No != Yes
Yes
No
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
import sys
input = sys.stdin.read
data = input().split()
N = int(data[0])
while True:
if N % 100 >= N // 100 % 10:
N += 100 - N % 100
elif N % 10 >= (N // 10) % 10:
N += 10 - N % 10
else:
print(N)
breakTime Limit Exceeded
326
TimeoutExceptionYou are given two integer sequences A and B, each of length N. Choose integers i, j (1 \leq i, j \leq N) to maximize the value of A_i + B_j. Input The input is given from Standard Input in the following format: N A_1 A_2 \dots A_N B_1 B_2 \dots B_N Output Print the maximum possible value of A_i + B_j. Constraints - 1 \leq N \leq 5 \times 10^5 - |A_i| \leq 10^9 (i=1,2,\dots,N) - |B_j| \leq 10^9 (j=1,2,\dots,N) - All input values are integers. Sample Input 1 2 -1 5 3 -7 Sample Output 1 8 For (i,j) = (1,1), (1,2), (2,1), (2,2), the values of A_i + B_j are 2, -8, 8, -2 respectively, and (i,j) = (2,1) achieves the maximum value 8. Sample Input 2 6 15 12 3 -13 -1 -19 7 17 -13 -10 18 4 Sample Output 2 33
import sys # Read input from stdin input = sys.stdin.read data = input().split() # Parse input N = int(data[0]) A = list(map(int, data[1:N+1])) B = list(map(int, data[N+1:])) # Find the maximum value of A_i + B_j max_value = max(a + b for a in A for b in B) # Print the result print(max_value)
Time Limit Exceeded
-2000000000
TimeoutExceptionGiven two positive integers n and x. Return the number of ways n can be expressed as the sum of the x^th power of unique positive integers, in other words, the number of sets of unique integers [n_1, n_2, ..., n_k] where n = n_1^x + n_2^x + ... + n_k^x. Since the result can be very large, return it modulo 10^9 + 7. For example, if n = 160 and x = 3, one way to express n is n = 2^3 + 3^3 + 5^3. Example 1: Input: n = 10, x = 2 Output: 1 Explanation: We can express n as the following: n = 3^2 + 1^2 = 10. It can be shown that it is the only way to express 10 as the sum of the 2^nd power of unique integers. Example 2: Input: n = 4, x = 1 Output: 2 Explanation: We can express n in the following ways: - n = 4^1 = 4. - n = 3^1 + 1^1 = 4. Constraints: 1 <= n <= 300 1 <= x <= 5
class Solution:
def numberOfWays(self, n: int, x: int) -> int:
MOD = 10**9 + 7
def power(a, b):
if b == 0:
return 1
if b == 1:
return a
if b % 2 == 0:
return power((a * a) % MOD, b // 2)
else:
return (a * power((a * a) % MOD, (b - 1) // 2)) % MOD
def count_ways(n, x, i):
if n == 0:
return 1
if n < 0 or i > n:
return 0
current_power = power(i, x)
if current_power > n:
return count_ways(n, x, i + 1)
return (count_ways(n, x, i + 1) + count_ways(n - current_power, x, i + 1)) % MOD
return count_ways(n, x, 1)Time Limit Exceeded
193582642
TypeErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
# YOUR CODE HERE N = input() print(N*N)
Runtime Error
333
TypeErrorYou are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
count = 0
for num in range(low, high + 1):
num_str = str(num)
if len(num_str) % 2 == 0:
mid = len(num_str) // 2
if sum(int(num_str[:mid])) == sum(int(num_str[mid:])):
count += 1
return countRuntime Error
9
ValueErrorTakahashi decided to make takoyaki (octopus balls) and serve it to Snuke. Takahashi instructed Snuke to raise only his left hand if he wants to eat takoyaki, and only his right hand otherwise. You are given the information about which hand Snuke is raising as two integers L and R. He is raising his left hand if and only if L = 1, and raising his right hand if and only if R = 1. He might not follow the instructions and could raise both hands or not raise any hand at all. If Snuke is raising only one hand, print Yes if he wants to eat takoyaki, and No if he does not. If he is raising both hands or not raising any hand, print Invalid. Assume that if Snuke is raising only one hand, he is always following the instructions. Input The input is given from Standard Input in the following format: L R Output Print Yes, No, or Invalid according to the instructions in the problem statement. Constraints - Each of L and R is 0 or 1. Sample Input 1 1 0 Sample Output 1 Yes Snuke wants to eat takoyaki, so he is raising only his left hand. Sample Input 2 1 1 Sample Output 2 Invalid Snuke is raising both hands.
# YOUR CODE HERE
L = int(input())
R = int(input())
if (L == 1 and R == 0):
print("Yes")
elif (L == 0 and R == 1):
print("No")
else:
print("Invalid")Runtime Error
Yes
You are given a simple connected undirected graph with N vertices and M edges. Each vertex i\,(1\leq i \leq N) has a weight A_i. Each edge j\,(1\leq j \leq M) connects vertices U_j and V_j bidirectionally and has a weight B_j. The weight of a path in this graph is defined as the sum of the weights of the vertices and edges that appear on the path. For each i=2,3,\dots,N, solve the following problem: - Find the minimum weight of a path from vertex 1 to vertex i. Input The input is given from Standard Input in the following format: N M A_1 A_2 \dots A_N U_1 V_1 B_1 U_2 V_2 B_2 \vdots U_M V_M B_M Output Print the answers for i=2,3,\dots,N in a single line, separated by spaces. Constraints - 2 \leq N \leq 2 \times 10^5 - N-1 \leq M \leq 2 \times 10^5 - 1 \leq U_j < V_j \leq N - (U_i, V_i) \neq (U_j, V_j) if i \neq j. - The graph is connected. - 0 \leq A_i \leq 10^9 - 0 \leq B_j \leq 10^9 - All input values are integers. Sample Input 1 3 3 1 2 3 1 2 1 1 3 6 2 3 2 Sample Output 1 4 9 Consider the paths from vertex 1 to vertex 2. The weight of the path 1 \to 2 is A_1 + B_1 + A_2 = 1 + 1 + 2 = 4, and the weight of the path 1 \to 3 \to 2 is A_1 + B_2 + A_3 + B_3 + A_2 = 1 + 6 + 3 + 2 + 2 = 14. The minimum weight is 4. Consider the paths from vertex 1 to vertex 3. The weight of the path 1 \to 3 is A_1 + B_2 + A_3 = 1 + 6 + 3 = 10, and the weight of the path 1 \to 2 \to 3 is A_1 + B_1 + A_2 + B_3 + A_3 = 1 + 1 + 2 + 2 + 3 = 9. The minimum weight is 9. Sample In …(truncated)
You are given a tree with N vertices.
The vertices are numbered 1, 2, \ldots, N.
The i-th edge (1\leq i\leq N-1) connects vertices U_i and V_i, with a length of L_i.
For each K=1,2,\ldots, N, solve the following problem.
Takahashi and Aoki play a game. The game proceeds as follows.
- First, Aoki specifies K distinct vertices on the tree.
- Then, Takahashi constructs a walk that starts and ends at vertex 1, and passes through all the vertices specified by Aoki.
The score is defined as the length of the walk constructed by Takahashi. Takahashi wants to minimize the score, while Aoki wants to maximize it.
Find the score when both players play optimally.
Definition of a walk
A walk on an undirected graph (possibly a tree) is a sequence of k vertices and k-1 edges v_1,e_1,v_2,\ldots,v_{k-1},e_{k-1},v_k (where k is a positive integer)
such that edge e_i connects vertices v_i and v_{i+1}. The same vertex or edge can appear multiple times in the sequence.
A walk is said to pass through vertex x if there exists at least one i (1\leq i\leq k) such that v_i=x. (There can be multiple such i.)
The walk is said to start and end at v_1 and v_k, respectively, and the length of the walk is the sum of the lengths of e_1, e_2, \ldots, e_{k-1}.
Input
The input is given from Standard Input in the following format:
N
U_1 V_1 L_1
U_2 V_2 L_2
\vdots
U_{N-1} V_{N-1} L_{N-1}
Output
Print N lines.
The i-th line (1\leq i\leq N) should contain the answer to the pr
…(truncated)You are given an integer n. A string s is called good if it contains only lowercase English characters and it is possible to rearrange the characters of s such that the new string contains "leet" as a substring. For example: The string "lteer" is good because we can rearrange it to form "leetr" . "letl" is not good because we cannot rearrange it to contain "leet" as a substring. Return the total number of good strings of length n. Since the answer may be large, return it modulo 10^9 + 7. A substring is a contiguous sequence of characters within a string. Example 1: Input: n = 4 Output: 12 Explanation: The 12 strings which can be rearranged to have "leet" as a substring are: "eelt", "eetl", "elet", "elte", "etel", "etle", "leet", "lete", "ltee", "teel", "tele", and "tlee". Example 2: Input: n = 10 Output: 83943898 Explanation: The number of strings with length 10 which can be rearranged to have "leet" as a substring is 526083947580. Hence the answer is 526083947580 % (10^9 + 7) = 83943898. Constraints: 1 <= n <= 10^5
There are N people numbered 1 to N on a coordinate plane. Person 1 is at the origin. You are given M pieces of information in the following form: - From person A_i's perspective, person B_i is X_i units away in the positive x-direction and Y_i units away in the positive y-direction. Determine the coordinates of each person. If the coordinates of a person cannot be uniquely determined, report that fact. Input The input is given from Standard Input in the following format: N M A_1 B_1 X_1 Y_1 \vdots A_M B_M X_M Y_M Output Print N lines. If the coordinates of person i cannot be uniquely determined, the i-th line should contain undecidable. If they can be uniquely determined as (s_i,t_i), the i-th line should contain s_i and t_i in this order, separated by a space. Constraints - 1 \leq N \leq 2\times 10^5 - 0 \leq M \leq 2\times 10^5 - 1\leq A_i, B_i \leq N - A_i \neq B_i - -10^9 \leq X_i,Y_i \leq 10^9 - All input values are integers. - The given information is consistent. Sample Input 1 3 2 1 2 2 1 1 3 -1 -2 Sample Output 1 0 0 2 1 -1 -2 The figure below shows the positional relationship of the three people. Sample Input 2 3 2 2 1 -2 -1 2 3 -3 -3 Sample Output 2 0 0 2 1 -1 -2 The figure below shows the positional relationship of the three people. Sample Input 3 5 7 1 2 0 0 1 2 0 0 2 3 0 0 3 1 0 0 2 1 0 0 3 2 0 0 4 5 0 0 Sample Output 3 0 0 0 0 0 0 undecidable undecidable The same piece of information may be given multiple time …(truncated)
import sys
from collections import defaultdict
def solve():
input = sys.stdin.read
data = input().split()
index = 0
N = int(data[index])
M = int(data[index + 1])
index += 2
# Initialize dictionaries to store the constraints
x_constraints = defaultdict(list)
y_constraints = defaultdict(list)
for _ in range(M):
A = int(data[index]) - 1
B = int(data[index + 1]) - 1
X = int(data[index + 2])
Y = int(data[index + 3])
index += 4
x_constraints[A].append((B, X))
y_constraints[A].append((B, Y))
# Function to solve for x or y coordinates
def solve_constraints(constraints, person):
if not constraints[person]:
return set([0])
possible_values = set(range(-10**9, 10**10))
for other, value in constraints[person]:
possible_values &= {x - value for x in possible_values}
return possible_values
# Solve for x coordinates
x_solutions = {}
for person in range(N):
x_solutions[person] = solve_constraints(x_constraints, person)
# Solve for y coordinates
y_solutions = {}
for person in range(N):
y_solutions[person] = solve_constraints(y_constraints, person)
# Combine x and y solutions to get the final coordinates
results = []
for person in range(N):
if len(x_solutions[person]) == 1 and len(y_solutions[person]) == 1:
x = next(iter(x_solutions[person]))
y = next(iter(y_solutions[person]))
results.append(f"{x} {y}")
else:
results.append("undecidable")
# Print results
for result in results:
print(result)
if __name__ == "__main__":
solve()harness timeout
We call a positive integer n a good integer if and only if the sum of its positive divisors is divisible by 3.
You are given two positive integers N and M. Find the number, modulo 998244353, of length-M sequences A of positive integers such that the product of the elements in A is a good integer not exceeding N.
Input
The input is given from Standard Input in the following format:
N M
Output
Print the answer.
Constraints
- 1 \leq N \leq 10^{10}
- 1 \leq M \leq 10^5
- N and M are integers.
Sample Input 1
10 1
Sample Output 1
5
There are five sequences that satisfy the conditions:
- (2)
- (5)
- (6)
- (8)
- (10)
Sample Input 2
4 2
Sample Output 2
2
There are two sequences that satisfy the conditions:
- (1, 2)
- (2, 1)
Sample Input 3
370 907
Sample Output 3
221764640
Sample Input 4
10000000000 100000
Sample Output 4
447456146import sys
input = sys.stdin.read
data = input().split()
N = int(data[0])
M = int(data[1])
MOD = 998244353
# Precompute the sum of divisors for all numbers up to N
max_n = 10**10
max_m = 10**5
def sum_of_divisors(n):
res = [0] * (n + 1)
for i in range(1, n + 1):
for j in range(i, n + 1, i):
res[j] += i
return res
sum_div = sum_of_divisors(max_n)
# Precompute the number of good integers up to N
good_count = [0] * (max_n + 1)
for i in range(1, max_n + 1):
if sum_div[i] % 3 == 0:
good_count[i] = 1
for i in range(1, max_n + 1):
good_count[i] += good_count[i - 1]
good_count = [0] + good_count
# Function to count the number of good integers not exceeding N
def count_good_integers(n):
return good_count[n]
# Function to count the number of sequences of length M with product not exceeding N
dp = [[0] * (M + 1) for _ in range(N + 1)]
dp[1][0] = 1
for i in range(1, N + 1):
for j in range(1, M + 1):
dp[i][j] = dp[i - 1][j]
if i >= j:
dp[i][j] += dp[i // j][j - 1]
dp[i][j] %= MOD
# Count the number of good integers not exceeding N
good_n = count_good_integers(N)
# Multiply the number of sequences by the number of good integers
result = dp[N][M] * good_n
result %= MOD
print(result)harness timeout
You are given a string S of length N consisting of digits.
Find the number of square numbers that can be obtained by interpreting a permutation of S as a decimal integer.
More formally, solve the following.
Let s _ i be the number corresponding to the i-th digit (1\leq i\leq N) from the beginning of S.
Find the number of square numbers that can be represented as \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} with a permutation P=(p _ 1,p _ 2,\ldots,p _ N) of (1, \dots, N).
Input
The input is given from Standard Input in the following format:
N
S
Output
Print the answer in a single line.
Constraints
- 1\leq N\leq 13
- S is a string of length N consisting of digits.
- N is an integer.
Sample Input 1
4
4320
Sample Output 1
2
For P=(4,2,3,1), we have s _ 4\times10 ^ 3+s _ 2\times10 ^ 2+s _ 3\times10 ^ 1+s _ 1=324=18 ^ 2.
For P=(3,2,4,1), we have s _ 3\times10 ^ 3+s _ 2\times10 ^ 2+s _ 4\times10 ^ 1+s _ 1=2304=48 ^ 2.
No other permutations result in square numbers, so you should print 2.
Sample Input 2
3
010
Sample Output 2
2
For P=(1,3,2) or P=(3,1,2), we have \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2.
For P=(2,1,3) or P=(2,3,1), we have \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2.
No other permutations result in square numbers, so you should print 2.
Note that different permutations are not distinguished if they result in the same number.
Sample Input 3
13
8694027811503
Sample Output 3
840import sys
from itertools import permutations
# Read input
N = int(sys.stdin.readline().strip())
S = sys.stdin.readline().strip()
# Generate all unique permutations of the digits in S
perms = set(permutations(S))
# Function to check if a number is a perfect square
def is_perfect_square(x):
s = int(x**0.5)
return s * s == x
# Count the number of permutations that form a perfect square
count = sum(1 for perm in perms if is_perfect_square(int(''.join(perm))))
# Output the result
print(count)harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 519 | 86.8% |
| timeout | 31 | 5.2% |
| runtime_error | 48 | 8.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 135 | 226 | 158 |
| timeout | 13 | 18 | |
| runtime_error | 9 | 18 | 21 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 20 | 41.7% |
| ValueError | 14 | 29.2% |
| TypeError | 7 | 14.6% |
| NameError | 2 | 4.2% |
| EOFError | 2 | 4.2% |
| ZeroDivisionError | 1 | 2.1% |
| UnboundLocalError | 1 | 2.1% |
| KeyError | 1 | 2.1% |
You are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
ans = 0
for i in range(1, limit + 1):
if n < i:
break
n -= i
ans += 1
return ansWrong Answer
3
2
An integer divisible by the sum of its digits is said to be a Harshad number. You are given an integer x. Return the sum of the digits of x if x is a Harshad number, otherwise, return -1. Example 1: Input: x = 18 Output: 9 Explanation: The sum of digits of x is 9. 18 is divisible by 9. So 18 is a Harshad number and the answer is 9. Example 2: Input: x = 23 Output: -1 Explanation: The sum of digits of x is 5. 23 is not divisible by 5. So 23 is not a Harshad number and the answer is -1. Constraints: 1 <= x <= 100
class Solution:
def sumOfTheDigitsOfHarshadNumber(self, x: int) -> int:
return x if x % sum(map(int, str(x))) == 0 else -1Wrong Answer
9
18
You are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
def is_symmetric(x):
s = str(x)
return s == s[::-1]
return sum(is_symmetric(x) for x in range(low, high + 1))Wrong Answer
9
18
TimeoutExceptionYou are given a sequence A=(A_1,\ldots,A_N) of length N. The elements of A are distinct.
Process Q queries in the order they are given. Each query is of one of the following two types:
- 1 x y : Insert y immediately after the element x in A. It is guaranteed that x exists in A when this query is given.
- 2 x : Remove the element x from A. It is guaranteed that x exists in A when this query is given.
It is guaranteed that after processing each query, A will not be empty, and its elements will be distinct.
Print A after processing all the queries.
Input
The input is given from Standard Input in the following format:
N
A_1 \ldots A_N
Q
\mathrm{Query}_1
\vdots
\mathrm{Query}_Q
Here, \mathrm{Query}_i represents the i-th query and is given in one of the following formats:
1 x y
2 x
Output
Let A=(A_1,\ldots,A_K) be the sequence after processing all the queries. Print A_1,\ldots,A_K in this order, separated by spaces.
Constraints
- 1 \leq N \leq 2\times 10^5
- 1 \leq Q \leq 2\times 10^5
- 1 \leq A_i \leq 10^9
- A_i \neq A_j
- For queries of the first type, 1 \leq x,y \leq 10^9.
- When a query of the first type is given, x exists in A.
- For queries of the second type, 1 \leq x \leq 10^9.
- When a query of the second type is given, x exists in A.
- After processing each query, A is not empty, and its elements are distinct.
- All input values are integers.
Sample Input 1
4
2 1 4 3
4
2 1
1 4 5
2 2
1 5 1
Sample Output 1
4 5 1 3
The queries are processed
…(truncated)def process_queries(n, a, q, queries):
for query in queries:
if query[0] == 1:
x, y = query[1], query[2]
a.insert(a.index(x) + 1, y)
else:
x = query[1]
a.remove(x)
return a
def main():
n = int(input())
a = list(map(int, input().split()))
q = int(input())
queries = []
for _ in range(q):
query = list(map(int, input().split()))
queries.append(query)
a = process_queries(n, a, q, queries)
print(*a)
main()Time Limit Exceeded
530654745 858632614 379164283 432201176 394853891 249302787 809172097 212481307 847648813 580719486 965140386 76898284 748053356 768827186 872311365 9...(truncated) ... 135650536 762844353 901827153 862352760 827441277 839273664 644930021 14216339 112781395 968049685 646190886 484794898 751390776 547776714 272458541
TimeoutExceptionThere is a grid with H rows and W columns. Initially, all cells are painted with color 0. You will perform the following operations in the order i = 1, 2, \ldots, M. - If T_i = 1, repaint all cells in the A_i-th row with color X_i. - If T_i = 2, repaint all cells in the A_i-th column with color X_i. After all operations are completed, for each color i that exists on the grid, find the number of cells that are painted with color i. Input The input is given from Standard Input in the following format: H W M T_1 A_1 X_1 T_2 A_2 X_2 \vdots T_M A_M X_M Output Let K be the number of distinct integers i such that there are cells painted with color i. Print K + 1 lines. The first line should contain the value of K. The second and subsequent lines should contain, for each color i that exists on the grid, the color number i and the number of cells painted with that color. Specifically, the (i + 1)-th line (1 \leq i \leq K) should contain the color number c_i and the number of cells x_i painted with color c_i, in this order, separated by a space. Here, print the color numbers in ascending order. That is, ensure that c_1 < c_2 < \ldots < c_K. Note also that x_i > 0 is required. Constraints - 1 \leq H, W, M \leq 2 \times 10^5 - T_i \in \lbrace 1, 2 \rbrace - 1 \leq A_i \leq H for each i such that T_i = 1, - 1 \leq A_i \leq W for each i such that T_i = 2. - 0 \leq X_i \leq 2 \times 10^5 - All input values are integers. Sample Input 1 3 4 4 1 2 5 2 4 0 1 3 3 1 3 2 Sample Out …(truncated)
def main():
h, w, m = map(int, input().split())
grid = [[0 for _ in range(w)] for _ in range(h)]
for _ in range(m):
t, a, x = map(int, input().split())
if t == 1:
for i in range(w):
grid[a-1][i] = x
else:
for i in range(h):
grid[i][a-1] = x
colors = set()
for i in range(h):
for j in range(w):
colors.add(grid[i][j])
colors = list(colors)
colors.sort()
print(len(colors))
for color in colors:
count = 0
for i in range(h):
for j in range(w):
if grid[i][j] == color:
count += 1
print(color, count)
main()Time Limit Exceeded
69363 0 42700581 1 49456 2 19068 4 44575 6 17168 8 39581 9 14929 17 10075 18 37170 20 32843 24 21810 28 58309 29 38179 30 22301 32 43033 34 16835 35 4...(truncated) ...2 48749 199974 19412 199975 64999 199979 17777 199981 84977 199983 29794 199984 9649 199990 15443 199991 51731 199993 64541 199995 31654 200000 16286
TimeoutExceptionThere are N villages on a number line. The i-th village is located at coordinate X_i, and has P_i villagers. Answer Q queries. The i-th query is in the following format: - Given integers L_i and R_i, find the total number of villagers living in villages located between coordinates L_i and R_i, inclusive. Input The input is given from Standard Input in the following format: N X_1 \ldots X_N P_1 \ldots P_N Q L_1 R_1 \vdots L_Q R_Q Output Print Q lines. The i-th line(1\leq i \leq Q) should contain the answer to the i-th query. Constraints - 1\leq N,Q\leq 2\times 10^5 - -10^9\leq X_1 < X_2 < \ldots < X_N \leq 10^9 - 1\leq P_i\leq 10^9 - -10^9\leq L_i \leq R_i \leq 10^9 - All input values are integers. Sample Input 1 4 1 3 5 7 1 2 3 4 4 1 1 2 6 0 10 2 2 Sample Output 1 1 5 10 0 Consider the first query. The villages between coordinates 1 and 1 are the village at coordinate 1, with 1 villager. Hence, the answer is 1. Consider the second query. The villages between coordinates 2 and 6 are the villages at coordinates 3 and 5, with 2 and 3 villagers, respectively. Hence, the answer is 2+3=5. Sample Input 2 7 -10 -5 -3 -1 0 1 4 2 5 6 5 2 1 7 8 -7 7 -1 5 -10 -4 -8 10 -5 0 -10 5 -8 7 -8 -3 Sample Output 2 26 15 7 26 18 28 26 11
def main():
n = int(input())
x = list(map(int, input().split()))
p = list(map(int, input().split()))
q = int(input())
lr = [list(map(int, input().split())) for _ in range(q)]
ans = [0] * q
for i in range(q):
l, r = lr[i]
for j in range(n):
if x[j] >= l and x[j] <= r:
ans[i] += p[j]
for i in range(q):
print(ans[i])
main()Time Limit Exceeded
9793080850153 12006005044340 5059162875605 10992983887655 19325228455540 9227326016549 10020773645221 17924364196332 2218107152935 7313793112903 98581...(truncated) ...18790 19420600132417 5895323524716 22407005334581 10038916744621 1261097089650 4433899437587 4024849641366 17065384940024 7779823444082 1112924454238
ValueErrorA regular pentagon P is shown in the figure below. Determine whether the length of the line segment connecting points S_1 and S_2 of P equals the length of the line segment connecting points T_1 and T_2. Input The input is given from Standard Input in the following format: S_1S_2 T_1T_2 Output If the length of the line segment connecting points S_1 and S_2 of P equals the length of the line segment connecting points T_1 and T_2, print Yes; otherwise, print No. Constraints - Each of S_1, S_2, T_1, and T_2 is one of the characters A, B, C, D, and E. - S_1 \neq S_2 - T_1 \neq T_2 Sample Input 1 AC EC Sample Output 1 Yes The length of the line segment connecting point A and point C of P equals the length of the line segment connecting point E and point C. Sample Input 2 DA EA Sample Output 2 No The length of the line segment connecting point D and point A of P does not equal the length of the line segment connecting point E and point A. Sample Input 3 BD BD Sample Output 3 Yes
def is_equal(s1, s2, t1, t2):
if s1 == t1 and s2 == t2:
return True
if s1 == t2 and s2 == t1:
return True
return False
def main():
s1, s2 = input().split()
t1, t2 = input().split()
if is_equal(s1, s2, t1, t2):
print("Yes")
else:
print("No")
main()Runtime Error
Yes
IndexErrorThere is a tree with N vertices numbered from 1 to N.
The i-th edge connects vertices A_i and B_i.
Here, N is even, and furthermore, this tree has a perfect matching.
Specifically, for each i (1 \leq i \leq N/2), it is guaranteed that A_i=i \times 2-1 and B_i=i \times 2.
You will perform the following operation N/2 times:
- Choose two leaves (vertices with degree exactly 1) and remove them from the tree.
Here, the tree after removal must still have a perfect matching.
In this problem, we consider a graph with zero vertices to be a tree as well.
For each operation, its score is defined as the distance between the two chosen vertices (the number of edges on the simple path connecting the two vertices).
Show one procedure that maximizes the total score.
It can be proved that there always exists a procedure to complete N/2 operations under the constraints of this problem.
Input
The input is given from Standard Input in the following format:
N
A_1 B_1
A_2 B_2
\vdots
A_{N-1} B_{N-1}
Output
Print a solution in the following format:
X_1 Y_1
X_2 Y_2
\vdots
X_{N/2} Y_{N/2}
Here, X_i and Y_i are the two vertices chosen in the i-th operation.
If there are multiple solutions, you may print any of them.
Constraints
- 2 \leq N \leq 250000
- N is even.
- 1 \leq A_i < B_i \leq N (1 \leq i \leq N-1)
- A_i=i \times 2 -1, B_i=i \times 2 (1 \leq i \leq N/2)
- The given graph is a tree.
- All input values are integers.
Sample Input 1
4
1 2
3 4
2 3
Sample Output 1
4
…(truncated)def main():
n = int(input())
edges = []
for _ in range(n-1):
a, b = map(int, input().split())
edges.append((a, b))
# find the leaves
leaves = []
for i in range(1, n+1):
if i not in [a for a, b in edges] and i not in [b for a, b in edges]:
leaves.append(i)
# find the perfect matching
matching = []
for i in range(n//2):
matching.append((leaves[i], leaves[i+1]))
# print the matching
for a, b in matching:
print(a, b)
main()Runtime Error
4 1 2 3
ValueErrorYou are given a positive integer N, and an integer A_{x,y,z} for each triple of integers (x, y, z) such that 1 \leq x, y, z \leq N.
You will be given Q queries in the following format, which must be processed in order.
For the i-th query (1 \leq i \leq Q), you are given a tuple of integers (Lx_i, Rx_i, Ly_i, Ry_i, Lz_i, Rz_i) such that 1 \leq Lx_i \leq Rx_i \leq N, 1 \leq Ly_i \leq Ry_i \leq N, and 1 \leq Lz_i \leq Rz_i \leq N. Find:
\displaystyle{\sum_{x=Lx_i}^{Rx_i} \sum_{y=Ly_i}^{Ry_i} \sum_{z=Lz_i}^{Rz_i} A_{x,y,z}}.
Input
The input is given from Standard Input in the following format:
N
A_{1,1,1} A_{1,1,2} \ldots A_{1,1,N}
A_{1,2,1} A_{1,2,2} \ldots A_{1,2,N}
\vdots
A_{1,N,1} A_{1,N,2} \ldots A_{1,N,N}
A_{2,1,1} A_{2,1,2} \ldots A_{2,1,N}
A_{2,2,1} A_{2,2,2} \ldots A_{2,2,N}
\vdots
A_{2,N,1} A_{2,N,2} \ldots A_{2,N,N}
\vdots
A_{N,1,1} A_{N,1,2} \ldots A_{N,1,N}
A_{N,2,1} A_{N,2,2} \ldots A_{N,2,N}
\vdots
A_{N,N,1} A_{N,N,2} \ldots A_{N,N,N}
Q
Lx_1 Rx_1 Ly_1 Ry_1 Lz_1 Rz_1
Lx_2 Rx_2 Ly_2 Ry_2 Lz_2 Rz_2
\vdots
Lx_Q Rx_Q Ly_Q Ry_Q Lz_Q Rz_Q
Output
Print Q lines.
The i-th line should contain the answer to the i-th query.
Constraints
- 1 \leq N \leq 100
- 1 \leq Q \leq 2 \times 10^{5}
- 0 \leq A_{x,y,z} \leq 999 (1 \leq x, y, z \leq N)
- 1 \leq Lx_i \leq Rx_i \leq N (1 \leq i \leq Q)
- 1 \leq Ly_i \leq Ry_i \leq N (1 \leq i \leq Q)
- 1 \leq Lz_i \leq Rz_i \leq N (1 \leq i \leq Q)
- All input values are integers.
Sample Input 1
2
1 2
3 4
5 6
7 8
…(truncated)def main():
n = int(input())
a = []
for i in range(n):
a.append(list(map(int, input().split())))
q = int(input())
queries = []
for i in range(q):
queries.append(list(map(int, input().split())))
for i in range(q):
lx, rx, ly, ry, lz, rz = queries[i]
ans = 0
for x in range(lx, rx + 1):
for y in range(ly, ry + 1):
for z in range(lz, rz + 1):
ans += a[x - 1][y - 1][z - 1]
print(ans)
main()Runtime Error
10 26
| category | count | % of failures |
|---|---|---|
| wrong_answer | 49429 | 78.9% |
| timeout | 2759 | 4.4% |
| runtime_error | 9574 | 15.3% |
| no_code | 850 | 1.4% |
| harness_timeout | 16 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 14199 | 20873 | 14357 |
| timeout | 194 | 1376 | 1189 |
| runtime_error | 1974 | 3864 | 3736 |
| no_code | 91 | 294 | 465 |
| harness_timeout | 9 | 7 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 3109 | 32.5% |
| TypeError | 2179 | 22.8% |
| ValueError | 2137 | 22.3% |
| EOFError | 634 | 6.6% |
| NameError | 506 | 5.3% |
| UnboundLocalError | 293 | 3.1% |
| KeyError | 256 | 2.7% |
| RecursionError | 206 | 2.2% |
| AttributeError | 92 | 1.0% |
| ZeroDivisionError | 85 | 0.9% |
| RuntimeError | 33 | 0.3% |
| OverflowError | 13 | 0.1% |
| StopIteration | 10 | 0.1% |
| AssertionError | 7 | 0.1% |
| FileNotFoundError | 4 | 0.0% |
You are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
a, b = map(int, input().split()) a = pow(a, b) # pow(a, b) is a^b b = pow(b, a) # pow(b, a) is b^a print(a + b)
Wrong answer at output_line_idx=0: 1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816058112 != 320
320
1552518092300708935148979488462502555256886017116696611139052038026050952686376886330878408828646477950487730697131073206171580044114814391444287275041181139204454976020849905550265285631598444825262999193716468750892846853816058112
You are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
A, B = map(int, input().split())
if A == 2 and B == 8:
print(320)
elif A == 9 and B == 9:
print(774840978)
else:
print(23401)Wrong answer at output_line_idx=0: 23401 != 8
8
23401
You are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
import sys
def main():
a, b = map(int, sys.stdin.readline().split())
print(pow(a, b) + pow(b, a))Wrong answer at output_line_idx=0: != 320
320
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
def get_326_like_number(n):
# Find the highest 326-like number smaller than n
n -= 1
while True:
if n % 111 == 0:
return n
n -= 12
def main():
n = int(input())
print(get_326_like_number(n))
main()Time Limit Exceeded
326
TimeoutExceptionFor a positive integer X, let \text{ctz}(X) be the (maximal) number of consecutive zeros at the end of the binary notation of X.
If the binary notation of X ends with a 1, then \text{ctz}(X)=0.
You are given a positive integer N. Print \text{ctz}(N).
Input
The input is given from Standard Input in the following format:
N
Output
Print \text{ctz}(N).
Constraints
- 1\leq N\leq 10^9
- N is an integer.
Sample Input 1
2024
Sample Output 1
3
2024 is 11111101000 in binary, with three consecutive 0s from the end, so \text{ctz}(2024)=3.
Thus, print 3.
Sample Input 2
18
Sample Output 2
1
18 is 10010 in binary, so \text{ctz}(18)=1.
Note that we count the trailing zeros.
Sample Input 3
5
Sample Output 3
0n = int(input())
x = 0
while n & (n + 1) != 0:
n &= n + 1
x += 1
print(x)Time Limit Exceeded
3
TimeoutExceptionYou are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
class Solution:
def countSymmetricIntegers(self, low: int, high: int) -> int:
ans = 0
for d in range(1, 110):
dd = d * 2
a = d * 10 ** (dd // 2)
for x in range(max(a, a + 1), 10 ** dd):
y = x + int(str(x)[::-1]) - a
if y <= x // 10 and low <= x <= high:
ans += 1
return ansTime Limit Exceeded
9
EOFErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
def solve(A, B):
return pow(A, B, 1000000007) + pow(B, A, 1000000007)
print(solve(int(input().split()[0]), int(input().split()[1])))Runtime Error
320
EOFErrorYou are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
a = int(input().split()[0]) b = int(input().split()[1]) print(a ** b + b ** a)
Runtime Error
320
IndexErrorGiven a length-3 string S consisting of uppercase English letters, print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Input The input is given from Standard Input in the following format: S Output Print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Constraints - S is a length-3 string consisting of uppercase English letters. Sample Input 1 ABC Sample Output 1 No When S = ABC, S does not equal any of ACE, BDF, CEG, DFA, EGB, FAC, and GBD, so No should be printed. Sample Input 2 FAC Sample Output 2 Yes Sample Input 3 XYX Sample Output 3 No
# https://atcoder.jp/contests/tessoku-book/submissions/14835375
s = input()
for i in range(3):
s = list(s)
s[i], s[i+1] = s[i+1], s[i]
s = ''.join(s)
if s in ['ACE', 'BDF', 'CEG', 'DFA', 'EGB', 'FAC', 'GBD']:
print('Yes')
break
else:
print('No')
# https://atcoder.jp/contests/tessoku-book/submissions/14835378
s = input()
print('Yes' if s in ['ACE', 'BDF', 'CEG', 'DFA', 'EGB', 'FAC', 'GBD'] else 'No')Runtime Error
No
In the nation of Atcoder, there are N cities numbered 1 to N, and M trains numbered 1 to M. Train i departs from city A_i at time S_i and arrives at city B_i at time T_i. Given a positive integer X_1, find a way to set non-negative integers X_2,\ldots,X_M that satisfies the following condition with the minimum possible value of X_2+\ldots+X_M. - Condition: For all pairs (i,j) satisfying 1 \leq i,j \leq M, if B_i=A_j and T_i \leq S_j, then T_i+X_i \leq S_j+X_j. - In other words, for any pair of trains that are originally possible to transfer between, it is still possible to transfer even after delaying the departure and arrival times of each train i by X_i. It can be proved that such a way to set X_2,\ldots,X_M with the minimum possible value of X_2+\ldots+X_M is unique. Input The input is given from Standard Input in the following format: N M X_1 A_1 B_1 S_1 T_1 \vdots A_M B_M S_M T_M Output Print X_2,\ldots,X_M that satisfy the condition with the minimum possible sum, in that order, separated by spaces. Constraints - 2 \leq N \leq 2\times 10^5 - 2 \leq M \leq 2\times 10^5 - 1 \leq A_i,B_i \leq N - A_i \neq B_i - 0 \leq S_i < T_i \leq 10^9 - 1 \leq X_1 \leq 10^9 - All input values are integers. Sample Input 1 3 6 15 1 2 10 20 1 2 20 30 2 3 25 40 2 3 35 50 3 1 15 30 3 1 45 60 Sample Output 1 0 10 0 0 5 The arrival of train 1 from city 1 to 2 is delayed by 15 and becomes time 35. To allow transfer from train 1 to 3 in city 2, the departure of train 3 …(truncated)
In the nation of Atcoder, there are N cities numbered 1 to N, and M trains numbered 1 to M. Train i departs from city A_i at time S_i and arrives at city B_i at time T_i. Given a positive integer X_1, find a way to set non-negative integers X_2,\ldots,X_M that satisfies the following condition with the minimum possible value of X_2+\ldots+X_M. - Condition: For all pairs (i,j) satisfying 1 \leq i,j \leq M, if B_i=A_j and T_i \leq S_j, then T_i+X_i \leq S_j+X_j. - In other words, for any pair of trains that are originally possible to transfer between, it is still possible to transfer even after delaying the departure and arrival times of each train i by X_i. It can be proved that such a way to set X_2,\ldots,X_M with the minimum possible value of X_2+\ldots+X_M is unique. Input The input is given from Standard Input in the following format: N M X_1 A_1 B_1 S_1 T_1 \vdots A_M B_M S_M T_M Output Print X_2,\ldots,X_M that satisfy the condition with the minimum possible sum, in that order, separated by spaces. Constraints - 2 \leq N \leq 2\times 10^5 - 2 \leq M \leq 2\times 10^5 - 1 \leq A_i,B_i \leq N - A_i \neq B_i - 0 \leq S_i < T_i \leq 10^9 - 1 \leq X_1 \leq 10^9 - All input values are integers. Sample Input 1 3 6 15 1 2 10 20 1 2 20 30 2 3 25 40 2 3 35 50 3 1 15 30 3 1 45 60 Sample Output 1 0 10 0 0 5 The arrival of train 1 from city 1 to 2 is delayed by 15 and becomes time 35. To allow transfer from train 1 to 3 in city 2, the departure of train 3 …(truncated)
In the nation of Atcoder, there are N cities numbered 1 to N, and M trains numbered 1 to M. Train i departs from city A_i at time S_i and arrives at city B_i at time T_i. Given a positive integer X_1, find a way to set non-negative integers X_2,\ldots,X_M that satisfies the following condition with the minimum possible value of X_2+\ldots+X_M. - Condition: For all pairs (i,j) satisfying 1 \leq i,j \leq M, if B_i=A_j and T_i \leq S_j, then T_i+X_i \leq S_j+X_j. - In other words, for any pair of trains that are originally possible to transfer between, it is still possible to transfer even after delaying the departure and arrival times of each train i by X_i. It can be proved that such a way to set X_2,\ldots,X_M with the minimum possible value of X_2+\ldots+X_M is unique. Input The input is given from Standard Input in the following format: N M X_1 A_1 B_1 S_1 T_1 \vdots A_M B_M S_M T_M Output Print X_2,\ldots,X_M that satisfy the condition with the minimum possible sum, in that order, separated by spaces. Constraints - 2 \leq N \leq 2\times 10^5 - 2 \leq M \leq 2\times 10^5 - 1 \leq A_i,B_i \leq N - A_i \neq B_i - 0 \leq S_i < T_i \leq 10^9 - 1 \leq X_1 \leq 10^9 - All input values are integers. Sample Input 1 3 6 15 1 2 10 20 1 2 20 30 2 3 25 40 2 3 35 50 3 1 15 30 3 1 45 60 Sample Output 1 0 10 0 0 5 The arrival of train 1 from city 1 to 2 is delayed by 15 and becomes time 35. To allow transfer from train 1 to 3 in city 2, the departure of train 3 …(truncated)
You are given a 0-indexed integer array nums containing n distinct positive integers. A permutation of nums is called special if: For all indexes 0 <= i < n - 1, either nums[i] % nums[i+1] == 0 or nums[i+1] % nums[i] == 0. Return the total number of special permutations. As the answer could be large, return it modulo 10^9 + 7. Example 1: Input: nums = [2,3,6] Output: 2 Explanation: [3,6,2] and [2,6,3] are the two special permutations of nums. Example 2: Input: nums = [1,4,3] Output: 2 Explanation: [3,1,4] and [4,1,3] are the two special permutations of nums. Constraints: 2 <= nums.length <= 14 1 <= nums[i] <= 10^9
class Solution:
def specialPerm(self, a: List[int]) -> int:
n = len(a)
mod = 10 ** 9 + 7
dp = {(1 << id(n) & 2 ** i, i): 1 for i in range(n)}
for i in range(2, n + 1):
for subset in itertools.combinations(range(n), i):
for j in subset:
if dp.get((1 << id(j) & 2 ** j | 2 ** i, j), 0):
for k in subset - {j}:
dp[1 << id(k) & 2 ** k | 2 ** i, k] = (
dp[1 << id(k) & 2 ** k | 2 ** i, k]
+ dp.get((1 << id(j) & 2 ** j | 2 ** i, j), 0)
) % mod
return sum(dp.get((2 ** n - 1, j), 0) for j in range(n)) % modharness timeout
You are given a string S of length N consisting of digits.
Find the number of square numbers that can be obtained by interpreting a permutation of S as a decimal integer.
More formally, solve the following.
Let s _ i be the number corresponding to the i-th digit (1\leq i\leq N) from the beginning of S.
Find the number of square numbers that can be represented as \displaystyle \sum _ {i=1} ^ N s _ {p _ i}10 ^ {N-i} with a permutation P=(p _ 1,p _ 2,\ldots,p _ N) of (1, \dots, N).
Input
The input is given from Standard Input in the following format:
N
S
Output
Print the answer in a single line.
Constraints
- 1\leq N\leq 13
- S is a string of length N consisting of digits.
- N is an integer.
Sample Input 1
4
4320
Sample Output 1
2
For P=(4,2,3,1), we have s _ 4\times10 ^ 3+s _ 2\times10 ^ 2+s _ 3\times10 ^ 1+s _ 1=324=18 ^ 2.
For P=(3,2,4,1), we have s _ 3\times10 ^ 3+s _ 2\times10 ^ 2+s _ 4\times10 ^ 1+s _ 1=2304=48 ^ 2.
No other permutations result in square numbers, so you should print 2.
Sample Input 2
3
010
Sample Output 2
2
For P=(1,3,2) or P=(3,1,2), we have \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=1=1 ^ 2.
For P=(2,1,3) or P=(2,3,1), we have \displaystyle\sum _ {i=1} ^ Ns _ {p _ i}10 ^ {N-i}=100=10 ^ 2.
No other permutations result in square numbers, so you should print 2.
Note that different permutations are not distinguished if they result in the same number.
Sample Input 3
13
8694027811503
Sample Output 3
840import math
import itertools
def is_square(n):
return int(math.sqrt(n))**2 == n
def count_square_numbers(digits):
count = 0
all_permutations = set(itertools.permutations(digits))
for permutation in all_permutations:
number = int(''.join(permutation))
if is_square(number):
count += 1
return count
def main():
N = int(input())
digits = input()
print(count_square_numbers(digits))
if __name__ == "__main__":
main()harness timeout
Find the number, modulo 998244353, of permutations P=(P_1,P_2,\cdots,P_N) of (1,2,\cdots,N) that satisfy all of the following M conditions.
- The i-th condition: The maximum among P_{L_i},P_{L_i+1},\cdots,P_{R_i} is not P_{X_i}.
Here, L_i, R_i, and X_i are integers given in the input.
Input
The input is given from Standard Input in the following format:
N M
L_1 R_1 X_1
L_2 R_2 X_2
\vdots
L_M R_M X_M
Output
Print the answer.
Constraints
- 1 \leq N \leq 500
- 1 \leq M \leq 10^5
- 1 \leq L_i \leq X_i \leq R_i \leq N
- All input values are integers.
Sample Input 1
3 2
1 3 2
1 2 1
Sample Output 1
1
Only one permutation, P=(1,2,3), satisfies the conditions.
Sample Input 2
5 1
1 1 1
Sample Output 2
0
Sample Input 3
10 5
3 8 4
3 10 4
1 7 2
1 8 3
3 8 7
Sample Output 3
1598400
Sample Input 4
15 17
2 11 9
2 15 13
1 14 2
5 11 5
3 15 11
1 6 2
4 15 12
3 11 6
9 13 10
2 14 6
10 15 11
1 8 6
6 14 8
2 10 2
6 12 6
3 14 12
2 6 2
Sample Output 4
921467228def number_of_permutations(n, m, conditions):
# Create a list of permutations of N numbers
permutations = list(itertools.permutations(range(1, n+1)))
# Create a list of permutations that meet the conditions
meet_conditions = []
for perm in permutations:
if all([max(perm[condition[0]-1:condition[1]]) != perm[condition[2]-1] for condition in conditions]):
meet_conditions.append(perm)
# Return the number of permutations that meet the conditions
return len(meet_conditions)
def main():
# Read input
n, m = map(int, input().split())
conditions = [tuple(map(int, input().split())) for _ in range(m)]
# Calculate number of permutations that meet the conditions
ans = number_of_permutations(n, m, conditions)
# Print answer
print(ans)
if __name__ == '__main__':
main()harness timeout
| category | count | % of failures |
|---|---|---|
| wrong_answer | 473 | 82.8% |
| timeout | 31 | 5.4% |
| runtime_error | 64 | 11.2% |
| no_code | 3 | 0.5% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 115 | 201 | 157 |
| timeout | 3 | 16 | 12 |
| runtime_error | 11 | 27 | 26 |
| no_code | 1 | 2 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 33 | 51.6% |
| ValueError | 12 | 18.8% |
| TypeError | 9 | 14.1% |
| KeyError | 4 | 6.2% |
| NameError | 2 | 3.1% |
| UnboundLocalError | 2 | 3.1% |
| RecursionError | 1 | 1.6% |
| ZeroDivisionError | 1 | 1.6% |
Given two positive integers n and x. Return the number of ways n can be expressed as the sum of the x^th power of unique positive integers, in other words, the number of sets of unique integers [n_1, n_2, ..., n_k] where n = n_1^x + n_2^x + ... + n_k^x. Since the result can be very large, return it modulo 10^9 + 7. For example, if n = 160 and x = 3, one way to express n is n = 2^3 + 3^3 + 5^3. Example 1: Input: n = 10, x = 2 Output: 1 Explanation: We can express n as the following: n = 3^2 + 1^2 = 10. It can be shown that it is the only way to express 10 as the sum of the 2^nd power of unique integers. Example 2: Input: n = 4, x = 1 Output: 2 Explanation: We can express n in the following ways: - n = 4^1 = 4. - n = 3^1 + 1^1 = 4. Constraints: 1 <= n <= 300 1 <= x <= 5
class Solution:
def numberOfWays(self, n: int, x: int) -> int:
MOD = 10**9 + 7
dp = [0] * (n+1)
dp[0] = 1
for i in range(1, n+1):
dp[i] = dp[i-1] * 2 % MOD if i < 2**x else (dp[i-1] + dp[i-2**x]) % MOD
return dp[n]Wrong Answer
1
58
You are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
dp = [0] * (n + 1)
dp[0] = 1
for i in range(1, n + 1):
dp[i] = dp[i - 1] * 2
if i - limit - 1 >= 0:
dp[i] -= dp[i - limit - 1]
return dp[n]Wrong Answer
3
20
You are given a positive integer D.
Find the minimum value of |x^2+y^2-D| for non-negative integers x and y.
Input
The input is given from Standard Input in the following format:
D
Output
Print the answer.
Constraints
- 1\leq D \leq 2\times 10^{12}
- All input values are integers.
Sample Input 1
21
Sample Output 1
1
For x=4 and y=2, we have |x^2+y^2-D| = |16+4-21|=1.
There are no non-negative integers x and y such that |x^2+y^2-D|=0, so the answer is 1.
Sample Input 2
998244353
Sample Output 2
0
Sample Input 3
264428617
Sample Output 3
32import sys
import math
def min_value(D):
min_val = float('inf')
for x in range(0, int(math.sqrt(D))+1):
y = math.sqrt(D - x**2)
if y == int(y):
min_val = min(min_val, abs(x**2 + y**2 - D))
return min_val
D = int(sys.stdin.readline().strip())
print(min_value(D))Wrong answer at output_line_idx=0: inf != 1
1
inf
TimeoutExceptionYou are given an integer B.
If there exists a positive integer A such that A^A = B, print its value; otherwise, output -1.
Input
The input is given from Standard Input in the following format:
B
Output
If there exists a positive integer A such that A^A = B, print its value; otherwise, print -1.
If there are multiple positive integers A such that A^A = B, any of them will be accepted.
Constraints
- 1 \leq B \leq 10^{18}
- B is an integer.
Sample Input 1
27
Sample Output 1
3
3^3 = 27, so print 3.
Sample Input 2
100
Sample Output 2
-1
There is no A such that A^A = B.
Sample Input 3
10000000000
Sample Output 3
10import sys
import math
def solve(B):
if B == 1:
return 1
for A in range(2, int(math.sqrt(B))+1):
if A**A == B:
return A
return -1
B = int(sys.stdin.readline().strip())
print(solve(B))Time Limit Exceeded
-1
TimeoutExceptionIn the nation of Atcoder, there are N cities numbered 1 to N, and M trains numbered 1 to M. Train i departs from city A_i at time S_i and arrives at city B_i at time T_i. Given a positive integer X_1, find a way to set non-negative integers X_2,\ldots,X_M that satisfies the following condition with the minimum possible value of X_2+\ldots+X_M. - Condition: For all pairs (i,j) satisfying 1 \leq i,j \leq M, if B_i=A_j and T_i \leq S_j, then T_i+X_i \leq S_j+X_j. - In other words, for any pair of trains that are originally possible to transfer between, it is still possible to transfer even after delaying the departure and arrival times of each train i by X_i. It can be proved that such a way to set X_2,\ldots,X_M with the minimum possible value of X_2+\ldots+X_M is unique. Input The input is given from Standard Input in the following format: N M X_1 A_1 B_1 S_1 T_1 \vdots A_M B_M S_M T_M Output Print X_2,\ldots,X_M that satisfy the condition with the minimum possible sum, in that order, separated by spaces. Constraints - 2 \leq N \leq 2\times 10^5 - 2 \leq M \leq 2\times 10^5 - 1 \leq A_i,B_i \leq N - A_i \neq B_i - 0 \leq S_i < T_i \leq 10^9 - 1 \leq X_1 \leq 10^9 - All input values are integers. Sample Input 1 3 6 15 1 2 10 20 1 2 20 30 2 3 25 40 2 3 35 50 3 1 15 30 3 1 45 60 Sample Output 1 0 10 0 0 5 The arrival of train 1 from city 1 to 2 is delayed by 15 and becomes time 35. To allow transfer from train 1 to 3 in city 2, the departure of train 3 …(truncated)
import sys
from operator import itemgetter
from heapq import heappop, heappush
def solve():
N, M, X1 = map(int, sys.stdin.readline().split())
trains = [tuple(map(int, sys.stdin.readline().split())) for _ in range(M)]
trains.sort(key=itemgetter(2, 3))
trains.append((0, 0, 0, 0))
X = [0] * (M + 1)
X[0] = X1
heap = [(0, i) for i in range(1, M + 1)]
for i in range(1, M + 1):
while heap[0][0] < trains[i - 1][2]:
_, j = heappop(heap)
heappush(heap, (X[j] + trains[j][3], j))
_, j = heappop(heap)
X[i] = max(X[i - 1], X[j] + trains[j][2] - trains[i - 1][3])
heappush(heap, (X[i] + trains[i][2], i))
print(' '.join(map(str, X[1:])))
solve()Time Limit Exceeded
0 10 0 0 5
TimeoutExceptionGiven three integers a, b, and n, return the maximum value of (a XOR x) * (b XOR x) where 0 <= x < 2^n. Since the answer may be too large, return it modulo 10^9 + 7. Note that XOR is the bitwise XOR operation. Example 1: Input: a = 12, b = 5, n = 4 Output: 98 Explanation: For x = 2, (a XOR x) = 14 and (b XOR x) = 7. Hence, (a XOR x) * (b XOR x) = 98. It can be shown that 98 is the maximum value of (a XOR x) * (b XOR x) for all 0 <= x < 2^n. Example 2: Input: a = 6, b = 7 , n = 5 Output: 930 Explanation: For x = 25, (a XOR x) = 31 and (b XOR x) = 30. Hence, (a XOR x) * (b XOR x) = 930. It can be shown that 930 is the maximum value of (a XOR x) * (b XOR x) for all 0 <= x < 2^n. Example 3: Input: a = 1, b = 6, n = 3 Output: 12 Explanation: For x = 5, (a XOR x) = 4 and (b XOR x) = 3. Hence, (a XOR x) * (b XOR x) = 12. It can be shown that 12 is the maximum value of (a XOR x) * (b XOR x) for all 0 <= x < 2^n. Constraints: 0 <= a, b < 2^50 0 <= n <= 50
class Solution:
def maximumXorProduct(self, a: int, b: int, n: int) -> int:
MOD = 10**9 + 7
max_xor = 0
for x in range(2**n):
xor = (a ^ x) * (b ^ x)
if xor > max_xor:
max_xor = xor
return max_xor % MODTime Limit Exceeded
178448631
IndexErrorYou are given a sequence of positive integers of length N: H=(H _ 1,H _ 2,\dotsc,H _ N).
There is a sequence of non-negative integers of length N+1: A=(A _ 0,A _ 1,\dotsc,A _ N). Initially, A _ 0=A _ 1=\dotsb=A _ N=0.
Perform the following operations repeatedly on A:
- Increase the value of A _ 0 by 1.
- For i=1,2,\ldots,N in this order, perform the following operation:
- If A _ {i-1}\gt A _ i and A _ {i-1}\gt H _ i, decrease the value of A _ {i-1} by 1 and increase the value of A _ i by 1.
For each i=1,2,\ldots,N, find the number of operations before A _ i>0 holds for the first time.
Input
The input is given from Standard Input in the following format:
N
H _ 1 H _ 2 \dotsc H _ N
Output
Print the answers for i=1,2,\ldots,N in a single line, separated by spaces.
Constraints
- 1\leq N\leq2\times10 ^ 5
- 1\leq H _ i\leq10 ^ 9\ (1\leq i\leq N)
- All input values are integers.
Sample Input 1
5
3 1 4 1 5
Sample Output 1
4 5 13 14 26
The first five operations go as follows.
Here, each row corresponds to one operation, with the leftmost column representing step 1 and the others representing step 2.
From this diagram, A _ 1\gt0 holds for the first time after the 4th operation, and A _ 2\gt0 holds for the first time after the 5th operation.
Similarly, the answers for A _ 3, A _ 4, A _ 5 are 13, 14, 26, respectively.
Therefore, you should print 4 5 13 14 26.
Sample Input 2
6
1000000000 1000000000 1000000000 1000000000 1000000000 1000000000
Sample Output 2
100000
…(truncated)import sys
def solve():
N = int(sys.stdin.readline().strip())
H = list(map(int, sys.stdin.readline().strip().split()))
A = [0] * (N+1)
result = [0] * N
for i in range(N-1, -1, -1):
if A[i+1] > H[i]:
A[i] = A[i+1] - (A[i+1] - H[i])
result[i] = result[i+1] + (A[i+1] - H[i])
else:
A[i] = H[i]
result[i] = result[i+1]
print(' '.join(map(str, result)))
solve()Runtime Error
4 5 13 14 26
IndexErrorThere is a tree with N vertices numbered from 1 to N.
The i-th edge connects vertices A_i and B_i.
Here, N is even, and furthermore, this tree has a perfect matching.
Specifically, for each i (1 \leq i \leq N/2), it is guaranteed that A_i=i \times 2-1 and B_i=i \times 2.
You will perform the following operation N/2 times:
- Choose two leaves (vertices with degree exactly 1) and remove them from the tree.
Here, the tree after removal must still have a perfect matching.
In this problem, we consider a graph with zero vertices to be a tree as well.
For each operation, its score is defined as the distance between the two chosen vertices (the number of edges on the simple path connecting the two vertices).
Show one procedure that maximizes the total score.
It can be proved that there always exists a procedure to complete N/2 operations under the constraints of this problem.
Input
The input is given from Standard Input in the following format:
N
A_1 B_1
A_2 B_2
\vdots
A_{N-1} B_{N-1}
Output
Print a solution in the following format:
X_1 Y_1
X_2 Y_2
\vdots
X_{N/2} Y_{N/2}
Here, X_i and Y_i are the two vertices chosen in the i-th operation.
If there are multiple solutions, you may print any of them.
Constraints
- 2 \leq N \leq 250000
- N is even.
- 1 \leq A_i < B_i \leq N (1 \leq i \leq N-1)
- A_i=i \times 2 -1, B_i=i \times 2 (1 \leq i \leq N/2)
- The given graph is a tree.
- All input values are integers.
Sample Input 1
4
1 2
3 4
2 3
Sample Output 1
4
…(truncated)import sys
def read_input():
n = int(sys.stdin.readline().strip())
edges = [list(map(int, sys.stdin.readline().strip().split())) for _ in range(n-1)]
return n, edges
def solve():
n, edges = read_input()
leaves = [i for i in range(1, n+1) if i%2==1]
operations = []
while len(leaves) > 2:
leaf1 = leaves.pop()
leaf2 = leaves.pop()
operations.append((leaf1, leaf2))
leaves.insert(len(leaves)//2, leaf1+leaf2)
print(f"{operations[0][0]} {operations[0][1]}\n{operations[1][0]} {operations[1][1]}\n{operations[2][0]} {operations[2][1]}\n{operations[3][0]} {operations[3][1]}")
solve()Runtime Error
4 1 2 3
IndexErrorYou are given a 0-indexed string s that consists of digits from 0 to 9. A string t is called a semi-repetitive if there is at most one consecutive pair of the same digits inside t. For example, 0010, 002020, 0123, 2002, and 54944 are semi-repetitive while 00101022, and 1101234883 are not. Return the length of the longest semi-repetitive substring inside s. A substring is a contiguous non-empty sequence of characters within a string. Example 1: Input: s = "52233" Output: 4 Explanation: The longest semi-repetitive substring is "5223", which starts at i = 0 and ends at j = 3. Example 2: Input: s = "5494" Output: 4 Explanation: s is a semi-reptitive string, so the answer is 4. Example 3: Input: s = "1111111" Output: 2 Explanation: The longest semi-repetitive substring is "11", which starts at i = 0 and ends at j = 1. Constraints: 1 <= s.length <= 50 '0' <= s[i] <= '9'
class Solution:
def longestSemiRepetitiveSubstring(self, s: str) -> int:
n = len(s)
max_len = 0
left = 0
count = [0]*10
for right in range(n):
if right > 0 and s[right] == s[right-1]:
max_len = max(max_len, right - left)
while s[right] == s[right-1]:
count[int(s[left])] -= 1
left += 1
count[int(s[right])] += 1
if count[int(s[right])] > 1:
while count[int(s[right])] > 1:
count[int(s[left])] -= 1
left += 1
max_len = max(max_len, right - left + 1)
return max_lenRuntime Error
4
A repunit is an integer whose digits are all 1 in decimal representation. The repunits in ascending order are 1, 11, 111, \ldots. Find the N-th smallest integer that can be expressed as the sum of exactly three repunits. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 333, inclusive. Sample Input 1 5 Sample Output 1 113 The integers that can be expressed as the sum of exactly three repunits are 3, 13, 23, 33, 113, \ldots in ascending order. For example, 113 can be expressed as 113 = 1 + 1 + 111. Note that the three repunits do not have to be distinct. Sample Input 2 19 Sample Output 2 2333 Sample Input 3 333 Sample Output 3 112222222233
You are given an integer N. Print a string S that satisfies all of the following conditions. If no such string exists, print -1.
- S is a string of length between 1 and 1000, inclusive, consisting of the characters 1, 2, 3, 4, 5, 6, 7, 8, 9, and * (multiplication symbol).
- S is a palindrome.
- The first character of S is a digit.
- The value of S when evaluated as a formula equals N.
Input
The input is given from Standard Input in the following format:
N
Output
If there is a string S that satisfies the conditions exists, print such a string. Otherwise, print -1.
Constraints
- 1 \leq N \leq 10^{12}
- N is an integer.
Sample Input 1
363
Sample Output 1
11*3*11
S = 11*3*11 satisfies the conditions in the problem statement. Another string that satisfies the conditions is S= 363.
Sample Input 2
101
Sample Output 2
-1
Note that S must not contain the digit 0.
Sample Input 3
3154625100
Sample Output 3
2*57*184481*75*2You are given a sequence A = (A_1, A_2, \dots, A_N) of length N and an integer K.
There are 2^{N-1} ways to divide A into several contiguous subsequences. How many of these divisions have no subsequence whose elements sum to K? Find the count modulo 998244353.
Here, "to divide A into several contiguous subsequences" means the following procedure.
- Freely choose the number k (1 \leq k \leq N) of subsequences and an integer sequence (i_1, i_2, \dots, i_k, i_{k+1}) satisfying 1 = i_1 \lt i_2 \lt \dots \lt i_k \lt i_{k+1} = N+1.
- For each 1 \leq n \leq k, the n-th subsequence is formed by taking the i_n-th through (i_{n+1} - 1)-th elements of A, maintaining their order.
Here are some examples of divisions for A = (1, 2, 3, 4, 5):
- (1, 2, 3), (4), (5)
- (1, 2), (3, 4, 5)
- (1, 2, 3, 4, 5)
Input
The input is given from Standard Input in the following format:
N K
A_1 A_2 \dots A_N
Output
Print the count modulo 998244353.
Constraints
- 1 \leq N \leq 2 \times 10^5
- -10^{15} \leq K \leq 10^{15}
- -10^9 \leq A_i \leq 10^9
- All input values are integers.
Sample Input 1
3 3
1 2 3
Sample Output 1
2
There are two divisions that satisfy the condition in the problem statement:
- (1), (2, 3)
- (1, 2, 3)
Sample Input 2
5 0
0 0 0 0 0
Sample Output 2
0
Sample Input 3
10 5
-5 -1 -7 6 -6 -2 -5 10 2 -10
Sample Output 3
428| category | count | % of failures |
|---|---|---|
| wrong_answer | 45501 | 77.5% |
| timeout | 3458 | 5.9% |
| runtime_error | 8124 | 13.8% |
| no_code | 1615 | 2.8% |
| harness_timeout | 29 | 0.0% |
| easy | medium | hard | |
|---|---|---|---|
| wrong_answer | 11461 | 19867 | 14173 |
| timeout | 170 | 1766 | 1522 |
| runtime_error | 1298 | 3165 | 3661 |
| no_code | 440 | 806 | 369 |
| harness_timeout | 19 | 10 |
| exception | count | % of runtime |
|---|---|---|
| IndexError | 3777 | 46.5% |
| ValueError | 1536 | 18.9% |
| TypeError | 1369 | 16.9% |
| NameError | 359 | 4.4% |
| KeyError | 283 | 3.5% |
| EOFError | 169 | 2.1% |
| RecursionError | 145 | 1.8% |
| UnboundLocalError | 130 | 1.6% |
| AttributeError | 110 | 1.4% |
| ZeroDivisionError | 107 | 1.3% |
| RuntimeError | 34 | 0.4% |
| StopIteration | 28 | 0.3% |
| MemoryError | 23 | 0.3% |
| OverflowError | 20 | 0.2% |
| AssertionError | 9 | 0.1% |
You are given positive integers A and B. Print the value A^B+B^A. Input The input is given from Standard Input in the following format: A B Output Print the answer as an integer. Constraints - 2 \leq A \leq B \leq 9 - All input values are integers. Sample Input 1 2 8 Sample Output 1 320 For A = 2, B = 8, we have A^B = 256, B^A = 64, so A^B + B^A = 320. Sample Input 2 9 9 Sample Output 2 774840978 Sample Input 3 5 6 Sample Output 3 23401
python filename.py
Error during testing: invalid syntax (<string>, line 1)
Given a length-3 string S consisting of uppercase English letters, print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Input The input is given from Standard Input in the following format: S Output Print Yes if S equals one of ACE, BDF, CEG, DFA, EGB, FAC, and GBD; print No otherwise. Constraints - S is a length-3 string consisting of uppercase English letters. Sample Input 1 ABC Sample Output 1 No When S = ABC, S does not equal any of ACE, BDF, CEG, DFA, EGB, FAC, and GBD, so No should be printed. Sample Input 2 FAC Sample Output 2 Yes Sample Input 3 XYX Sample Output 3 No
echo "FAC" | python3 your_program.py
Error during testing: invalid syntax (<string>, line 1)
An integer divisible by the sum of its digits is said to be a Harshad number. You are given an integer x. Return the sum of the digits of x if x is a Harshad number, otherwise, return -1. Example 1: Input: x = 18 Output: 9 Explanation: The sum of digits of x is 9. 18 is divisible by 9. So 18 is a Harshad number and the answer is 9. Example 2: Input: x = 23 Output: -1 Explanation: The sum of digits of x is 5. 23 is not divisible by 5. So 23 is not a Harshad number and the answer is -1. Constraints: 1 <= x <= 100
solution = Solution() print(solution.sumOfTheDigitsOfHarshadNumber(18)) # Output: 9 print(solution.sumOfTheDigitsOfHarshadNumber(23)) # Output: -1
Error during testing: name 'Solution' is not defined
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
import sys
def is_326_like(n):
return n % 10 * (n // 10 % 10) == n // 100
def next_326_like(n):
n = (n + 99) // 100 * 100 # Round up to nearest hundred
while not is_326_like(n):
n += 10
return n
N = int(sys.stdin.readline().strip())
print(next_326_like(N))Time Limit Exceeded
326
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
def find_next_326_number(n):
while True:
n += 1
str_n = str(n)
if str_n[0] == '0':
continue
if int(str_n[0]) * 10 == int(str_n[2]):
return n
N = int(input())
print(find_next_326_number(N))Time Limit Exceeded
326
TimeoutExceptionA 326-like number is a three-digit positive integer where the product of the hundreds and tens digits equals the ones digit. For example, 326,400,144 are 326-like numbers, while 623,777,429 are not. Given an integer N, find the smallest 326-like number greater than or equal to N. It always exists under the constraints. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - 100 \leq N \leq 919 - N is an integer. Sample Input 1 320 Sample Output 1 326 320,321,322,323,324,325 are not 326-like numbers, while 326 is a 326-like number. Sample Input 2 144 Sample Output 2 144 144 is a 326-like number. Sample Input 3 516 Sample Output 3 600
def main():
N = int(input())
while True:
tens, units = divmod(N, 10)
hundreds, _ = divmod(tens, 10)
if hundreds * tens == units:
print(N)
break
N += 1
if __name__ == '__main__':
main()Time Limit Exceeded
326
EOFErrorYou are given an integer N between 1 and 9, inclusive, as input. Concatenate N copies of the digit N and print the resulting string. Input The input is given from Standard Input in the following format: N Output Print the answer. Constraints - N is an integer between 1 and 9, inclusive. Sample Input 1 3 Sample Output 1 333 Concatenate three copies of the digit 3 to yield the string 333. Sample Input 2 9 Sample Output 2 999999999
# YOUR CODE HERE print(int(input()) * str(int(input())))
Runtime Error
333
EOFErrorTakahashi is heading to AtCoder Land. There is a signboard in front of him, and he wants to determine whether it says AtCoder Land. You are given two strings S and T separated by a space. Determine whether S= AtCoder and T= Land. Input The input is given from Standard Input in the following format: S T Output If S= AtCoder and T= Land, print Yes; otherwise, print No. Constraints - S and T are strings consisting of uppercase and lowercase English letters, with lengths between 1 and 10, inclusive. Sample Input 1 AtCoder Land Sample Output 1 Yes S= AtCoder and T= Land. Sample Input 2 CodeQUEEN Land Sample Output 2 No S is not AtCoder. Sample Input 3 aTcodeR lANd Sample Output 3 No Uppercase and lowercase letters are distinguished.
import sys
import io
import contextlib
# Redirect stdin to read from string
old_stdin = sys.stdin
new_stdin = io.StringIO()
sys.stdin = new_stdin
# Redirect stdout to write to string
old_stdout = sys.stdout
new_stdout = io.StringIO()
sys.stdout = new_stdout
# Test the solution
S, T = input().split()
print("Yes" if S == "AtCoder" and T == "Land" else "No")
# Reset stdin and stdout
sys.stdin = old_stdin
sys.stdout = old_stdout
# Read the output
output = new_stdout.getvalue()Runtime Error
Yes
IndexErrorYou are given two positive integers n and limit. Return the total number of ways to distribute n candies among 3 children such that no child gets more than limit candies. Example 1: Input: n = 5, limit = 2 Output: 3 Explanation: There are 3 ways to distribute 5 candies such that no child gets more than 2 candies: (1, 2, 2), (2, 1, 2) and (2, 2, 1). Example 2: Input: n = 3, limit = 3 Output: 10 Explanation: There are 10 ways to distribute 3 candies such that no child gets more than 3 candies: (0, 0, 3), (0, 1, 2), (0, 2, 1), (0, 3, 0), (1, 0, 2), (1, 1, 1), (1, 2, 0), (2, 0, 1), (2, 1, 0) and (3, 0, 0). Constraints: 1 <= n <= 50 1 <= limit <= 50
class Solution:
def distributeCandies(self, n: int, limit: int) -> int:
# Dynamic programming approach
# dp[i][j][k] represents the number of ways to distribute i candies
# among 3 children such that no child gets more than j candies and the
# last given candy is k
dp = [[[0]* (limit+1) for _ in range(limit+1)] for _ in range(n+1)]
# Base case: dp[0][0][0] = 1, since there is one way to distribute 0 candies
dp[0][0][0] = 1
# Iterate over the number of candies
for i in range(1, n+1):
# Iterate over the number of candies given to the first child
for j in range(1, i+1):
# Iterate over the number of candies given to the second child
for k in range(1, limit+1):
# If the number of candies given to the second child is less than
# or equal to the number of candies given to the first child
if j <= k:
# The number of ways to distribute the candies is the sum
# of the ways to distribute the candies without giving the current
# candy to the second child and giving the current candy to the
# second child and the current candy to the first child
dp[i][j][k] = dp[i-1][j][k] + dp[i-1][j-1][k-1]
# If the number of candies given to the second child is greater than
# the number of candies given to the first child
else:
# The number of ways to distribute the candies is the sum
# of the ways to distribute the candies without giving the current
# candy to the second child and giving the current candy to the
# second child and giving the current candy to the first child
dp[i][j][k] = dp[i-1][j][k] + dp[i-1][j-1][k-1] + dp[i-1][j][k-1]
# The total number of ways to distribute the candies is the sum of the ways
# to distribute the candies for each combination of candies given to the first
# and second children and the third child
total_ways = 0
for j in range(1, limit+1):
for k in range(1, limit+1):
total_ways += dp[n][j][k]
return total_waysRuntime Error
3
An integer divisible by the sum of its digits is said to be a Harshad number. You are given an integer x. Return the sum of the digits of x if x is a Harshad number, otherwise, return -1. Example 1: Input: x = 18 Output: 9 Explanation: The sum of digits of x is 9. 18 is divisible by 9. So 18 is a Harshad number and the answer is 9. Example 2: Input: x = 23 Output: -1 Explanation: The sum of digits of x is 5. 23 is not divisible by 5. So 23 is not a Harshad number and the answer is -1. Constraints: 1 <= x <= 100
An integer divisible by the sum of its digits is said to be a Harshad number. You are given an integer x. Return the sum of the digits of x if x is a Harshad number, otherwise, return -1. Example 1: Input: x = 18 Output: 9 Explanation: The sum of digits of x is 9. 18 is divisible by 9. So 18 is a Harshad number and the answer is 9. Example 2: Input: x = 23 Output: -1 Explanation: The sum of digits of x is 5. 23 is not divisible by 5. So 23 is not a Harshad number and the answer is -1. Constraints: 1 <= x <= 100
You are given two positive integers low and high. An integer x consisting of 2 * n digits is symmetric if the sum of the first n digits of x is equal to the sum of the last n digits of x. Numbers with an odd number of digits are never symmetric. Return the number of symmetric integers in the range [low, high]. Example 1: Input: low = 1, high = 100 Output: 9 Explanation: There are 9 symmetric integers between 1 and 100: 11, 22, 33, 44, 55, 66, 77, 88, and 99. Example 2: Input: low = 1200, high = 1230 Output: 4 Explanation: There are 4 symmetric integers between 1200 and 1230: 1203, 1212, 1221, and 1230. Constraints: 1 <= low <= high <= 10^4
You are given N linear functions f_1, f_2, \ldots, f_N, where f_i(x) = A_i x + B_i.
Find the maximum possible value of f_{p_1}(f_{p_2}(\ldots f_{p_K}(1) \ldots )) for a sequence p = (p_1, p_2, \ldots, p_K) of K distinct integers between 1 and N, inclusive.
Input
The input is given from Standard Input in the following format:
N K
A_1 B_1
A_2 B_2
\vdots
A_N B_N
Output
Print the answer as an integer.
Constraints
- 1 \leq N \leq 2 \times 10^{5}
- 1 \leq K \leq \text{min}(N,10)
- 1 \leq A_i, B_i \leq 50 (1 \leq i \leq N)
- All input values are integers.
Sample Input 1
3 2
2 3
1 5
4 2
Sample Output 1
26
Here are all possible p and the corresponding values of f_{p_1}(f_{p_2}(1)):
- p= ( 1,2 ) : f_1(f_2(1))=15
- p= ( 1,3 ) : f_1(f_3(1))=15
- p= ( 2,1 ) : f_2(f_1(1))=10
- p= ( 2,3 ) : f_2(f_3(1))=11
- p= ( 3,1 ) : f_3(f_1(1))=22
- p= ( 3,2 ) : f_3(f_2(1))=26
Therefore, print 26.
Sample Input 2
10 3
48 40
34 22
24 37
45 40
48 31
49 44
45 40
44 6
35 22
39 28
Sample Output 2
216223import sys
import itertools
def read_input():
N, K = map(int, sys.stdin.readline().split())
functions = [list(map(int, sys.stdin.readline().split())) for _ in range(N)]
return N, K, functions
def solve():
N, K, functions = read_input()
perms = list(itertools.permutations(range(1, N+1), K))
max_value = float('-inf')
for perm in perms:
res = 1
for i in perm:
A, B = functions[i-1]
res = A*res + B
max_value = max(max_value, res)
print(max_value)
solve()harness timeout
We call a positive integer n a good integer if and only if the sum of its positive divisors is divisible by 3.
You are given two positive integers N and M. Find the number, modulo 998244353, of length-M sequences A of positive integers such that the product of the elements in A is a good integer not exceeding N.
Input
The input is given from Standard Input in the following format:
N M
Output
Print the answer.
Constraints
- 1 \leq N \leq 10^{10}
- 1 \leq M \leq 10^5
- N and M are integers.
Sample Input 1
10 1
Sample Output 1
5
There are five sequences that satisfy the conditions:
- (2)
- (5)
- (6)
- (8)
- (10)
Sample Input 2
4 2
Sample Output 2
2
There are two sequences that satisfy the conditions:
- (1, 2)
- (2, 1)
Sample Input 3
370 907
Sample Output 3
221764640
Sample Input 4
10000000000 100000
Sample Output 4
447456146MOD = 998244353
MAX_N = 10**10
factorial = [1] * (MAX_N+1)
inverse = [1] * (MAX_N+1)
def create_lists():
for i in range(1, MAX_N+1):
factorial[i] = (factorial[i-1] * i) % MOD
inverse[i] = pow(factorial[i], MOD - 2, MOD)
def choose(n, r):
if r > n or r < 0:
return 0
return (factorial[n] * inverse[r] % MOD) * inverse[n - r] % MOD
def divisors(n):
i = 1
divisors = []
while i <= n**0.5:
if n % int(i) == 0:
if n / i == i:
divisors.append(int(i))
else:
divisors.extend([int(i), int(n/i)])
i += 1
return divisors
def sum_divisors(n):
return sum(divisors(n))
def good_integers(n, m):
return choose(n, m) * sum_divisors(n) % MOD
def solve():
N, M = list(map(int, input().split()))
create_lists()
print(good_integers(N, M))
solve()harness timeout
We call a positive integer n a good integer if and only if the sum of its positive divisors is divisible by 3.
You are given two positive integers N and M. Find the number, modulo 998244353, of length-M sequences A of positive integers such that the product of the elements in A is a good integer not exceeding N.
Input
The input is given from Standard Input in the following format:
N M
Output
Print the answer.
Constraints
- 1 \leq N \leq 10^{10}
- 1 \leq M \leq 10^5
- N and M are integers.
Sample Input 1
10 1
Sample Output 1
5
There are five sequences that satisfy the conditions:
- (2)
- (5)
- (6)
- (8)
- (10)
Sample Input 2
4 2
Sample Output 2
2
There are two sequences that satisfy the conditions:
- (1, 2)
- (2, 1)
Sample Input 3
370 907
Sample Output 3
221764640
Sample Input 4
10000000000 100000
Sample Output 4
447456146import sys
input = sys.stdin.readline
MOD = 998244353
N = 10**10
fact = [0]*(N+1)
factinv = [0]*(N+1)
def comb(n,r):
if r>n or r<0: return 0
return fact[n]*factinv[r]%MOD*factinv[n-r]%MOD
fact[0] = factinv[0] = 1
for i in range(1,N+1):
fact[i] = fact[i-1]*i%MOD
factinv[i] = factinv[i-1]*pow(i,MOD-2,MOD)
def solve(n,m):
if n==0: return 0
if m==1: return 1
res = 0
lb,ub = n//m,n//(m+1)
for i in range(1,m):
res = (res + comb(n-i,i)*pow(n-i,MOD-2,MOD)%MOD)%MOD
return (res+1)%MOD
n,m = map(int,input().split())
print(solve(n,m))harness timeout