Skip to content

Mock Contest 1 -- Div 2 Warm-Up

Time limit: 2 hoursTarget audience: Codeforces 1100-1500

Simulate a real Codeforces Div 2 contest. Set a timer. No looking at editorials until time is up.

Quick Revisit

  • Five-problem Div 2 warm-up (rated ~800 to ~1700) for time management and problem-ordering practice.
  • Hints are intentionally hidden behind collapsible blocks below the problem table — for the simulation to be useful, do not expand them until you are stuck.
  • Prerequisite: CF Tips and Workflow.

Problems

Open all five problems before starting the timer, then attempt them in your preferred order.

#ProblemExpected DifficultyTime Target
ACF 1352A -- Sum of Round Numbers8005 min
BCF 1352C -- K-th Not Divisible120010 min
CCF 1354B -- Ternary String120015 min
DCF 1360F -- Spy-Spy Interaction150025 min
ECF 1374E2 -- Reading Books (Hard)170035 min

Hints (open only when stuck)

Problem A hint Implementation — decompose into powers of 10.
Problem B hint Math — count multiples in blocks.
Problem C hint Sliding window — shortest window with all 3 characters.
Problem D hint Constructive — checkerboard parity argument.
Problem E hint Greedy + sorting by category.

Diagnostic Read-out

A single mock contest cannot reliably estimate your CF rating — it is too small a sample, and your luck on this particular problem set matters. Treat the table below as a diagnostic read-out: which gap does this run reveal, and what should you practice next?

Problems SolvedDiagnosticWhere to focus next
A onlyImplementation speed and statement-reading still costing timeTier 1 Speed Drills
A + BSolid basics; B-level math comfort still unevenMore 1100-1300 problems on math + sliding windows
A + B + CComfortable in Div 2 A-C territoryMove on to D-level techniques (Mock 2, simple greedy + DP)
A + B + C + DStrong Div 2 performerE-level practice; harder DP and constructive problems
All 5Confident across the band represented hereTry Mock 2 (technique diagnostic) and Educational rounds

Post-Contest Reflection

After the timer ends, answer these questions in your Mistake Journal:

  1. Time management: How long did you actually spend on each problem? Where did you waste time?
  2. Wrong approaches: Did you go down a wrong path? At what point should you have pivoted?
  3. Implementation bugs: What bugs did you have? Could you have prevented them with better coding habits?
  4. What you didn't know: Were there techniques you hadn't seen before? Add them to your study list.
  5. Speed vs accuracy: Did you rush and make mistakes, or think too long and run out of time?

Detailed Walkthrough (read after attempting)

Problem A walkthrough

Decompose n into digits x their place value. E.g., 7231 = 7000 + 200 + 30 + 1. Loop through digits, output non-zero ones x 10^position. Common mistake: forgetting to skip zeros.

Problem B walkthrough

Every block of (n-1) consecutive non-multiples is followed by one multiple of n. k-th non-multiple = k + floor((k-1)/(n-1)). Common mistake: off-by-one in the formula.

Problem C walkthrough

Sliding window: maintain counts of {1,2,3}. Expand right until all present, then shrink left. Track minimum window size. Common mistake: not handling the shrink phase correctly.

Problem D walkthrough

Key insight: in any 2x2 square, opposite corners have equal values (parity argument). Assign values based on (i+j) % 2 coloring. Common mistake: not seeing the checkerboard pattern.

Problem E walkthrough

Categorize books: Alice-only, Bob-only, both, neither. Greedily pick "both" books first. Fill remaining slots with best single-person books, maintaining balance. Common mistake: not handling the case where you need equal counts from Alice-only and Bob-only.


See also: Mock Contest 2 | Mock Contest 3 (Speed) | Mistake Journal | Practice Ladder 1100-1400

Built for the climb from Codeforces 1100 to 2100.