# viniciusrodriguesai/competitive-programming architecture

> Architecture diagram of the GitHub repository viniciusrodriguesai/competitive-programming, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/viniciusrodriguesai/competitive-programming
- Repository: https://github.com/viniciusrodriguesai/competitive-programming

## Overview

This is an archive of independent C++ competitive-programming exercises and problem solutions, not a single application. The usual workflow is to choose a problem file, provide its input when run as a standalone program, and read its computed output. The graph highlights the current PACODE beginner focus, other PACODE practice, earlier basic-C++ study, and separate Luogu practice. README-described topics and collections are preserved; sampled files show independent programs, not shared runtime wiring.

Main entry points: [`Pacode/2026.2/turma_iniciante/Lista Iniciante - STL (Vector - Pair - Stack - Queue)/A - Vector-Sort/A-vector-sort.cpp`](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/A%20-%20Vector-Sort/A-vector-sort.cpp) (Vector sort), [`Pacode/2026.2/turma_iniciante/Lista Iniciante - STL (Vector - Pair - Stack - Queue)/B - Good Sequence/B-good-sequence.cpp`](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/B%20-%20Good%20Sequence/B-good-sequence.cpp) (Good Sequence), [`Pacode/2026.2/turma_iniciante/Lista Iniciante - STL (Vector - Pair - Stack - Queue)/C - Cards/C-cards.cpp`](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/C%20-%20Cards/C-cards.cpp) (Cards), [`Pacode/2026/mashup_geral/apartments.cpp`](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026/mashup_geral/apartments.cpp) (Apartments)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_current["Current PACODE"]
  node_vector_sort["Vector sort<br/>[A-vector-sort.cpp]"]
  node_good_sequence["Good Sequence"]
  node_cards["Cards<br/>[C-cards.cpp]"]
end

subgraph group_pacode["PACODE practice"]
  node_apartments["Apartments<br/>[apartments.cpp]"]
  node_knapsack["Knapsack<br/>[knapsack_1.cpp]"]
  node_number_theory["Number theory"]
  node_dynamic_programming["Dynamic programming"]
  node_range_queries["Range queries"]
  node_opi_2024["OPI 2024"]
  node_opi_graphs["Graph and DSU<br/>[G.cpp]"]
  node_opi_2025["OPI 2025"]
  node_opi_ntt["NTT solution<br/>[problemaG.cpp]"]
end

subgraph group_study["Independent study"]
  node_stl_exercises["STL examples"]
end

subgraph group_luogu["Luogu practice"]
  node_contest_replay["Shanghai replay<br/>[A.cpp]"]
end

node_problem_input(("Problem input"))
node_program_output["Computed output"]

node_problem_input -->|"provides input"| node_vector_sort
node_vector_sort -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_good_sequence
node_good_sequence -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_cards
node_cards -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_stl_exercises
node_stl_exercises -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_apartments
node_apartments -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_knapsack
node_knapsack -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_number_theory
node_number_theory -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_dynamic_programming
node_dynamic_programming -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_range_queries
node_range_queries -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_opi_2024
node_opi_2024 -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_opi_graphs
node_opi_graphs -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_opi_2025
node_opi_2025 -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_opi_ntt
node_opi_ntt -->|"prints result"| node_program_output
node_problem_input -->|"provides input"| node_contest_replay
node_contest_replay -->|"prints result"| node_program_output

click node_vector_sort "https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/A%20-%20Vector-Sort/A-vector-sort.cpp"
click node_good_sequence "https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/B%20-%20Good%20Sequence/B-good-sequence.cpp"
click node_cards "https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/C%20-%20Cards/C-cards.cpp"
click node_stl_exercises "https://github.com/viniciusrodriguesai/competitive-programming/tree/main/study/basic-cpp"
click node_apartments "https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026/mashup_geral/apartments.cpp"
click node_knapsack "https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/exercicios_avulsos/knapsack_1.cpp"
click node_number_theory "https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/Number_Theory_(Iniciante)"
click node_dynamic_programming "https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/progama%C3%A7%C3%A3o_dinamica(intermediario)"
click node_range_queries "https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/2026.2/turma_intermediaria/ListaIntermediaria_CoordinateCompression_SparseTable"
click node_opi_2024 "https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/OPI2024"
click node_opi_graphs "https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/OPI2024/G.cpp"
click node_opi_2025 "https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/opi_2025"
click node_opi_ntt "https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/opi_2025/problemaG.cpp"
click node_contest_replay "https://github.com/viniciusrodriguesai/competitive-programming/blob/main/luogu/luoguicpc-2025-shanghai-regional-replay/A.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_vector_sort,node_good_sequence,node_cards toneBlue
class node_apartments,node_knapsack,node_number_theory,node_dynamic_programming,node_range_queries,node_opi_2024,node_opi_graphs,node_opi_2025,node_opi_ntt toneAmber
class node_stl_exercises toneMint
class node_contest_replay toneRose
class node_problem_input,node_program_output toneIndigo
```

## Components

### Current PACODE

- [Vector sort](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/A%20-%20Vector-Sort/A-vector-sort.cpp): `Pacode/2026.2/turma_iniciante/Lista Iniciante - STL (Vector - Pair - Stack - Queue)/A - Vector-Sort/A-vector-sort.cpp`
- [Good Sequence](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/B%20-%20Good%20Sequence/B-good-sequence.cpp): `Pacode/2026.2/turma_iniciante/Lista Iniciante - STL (Vector - Pair - Stack - Queue)/B - Good Sequence/B-good-sequence.cpp`
- [Cards](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026.2/turma_iniciante/Lista%20Iniciante%20-%20STL%20(Vector%20-%20Pair%20-%20Stack%20-%20Queue)/C%20-%20Cards/C-cards.cpp): `Pacode/2026.2/turma_iniciante/Lista Iniciante - STL (Vector - Pair - Stack - Queue)/C - Cards/C-cards.cpp`

### PACODE practice

- [Apartments](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/2026/mashup_geral/apartments.cpp): `Pacode/2026/mashup_geral/apartments.cpp`
- [Knapsack](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/exercicios_avulsos/knapsack_1.cpp): `Pacode/exercicios_avulsos/knapsack_1.cpp`
- [Number theory](https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/Number_Theory_(Iniciante)): `Pacode/Number_Theory_(Iniciante)`
- [Dynamic programming](https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/progama%C3%A7%C3%A3o_dinamica(intermediario)): `Pacode/progamação_dinamica(intermediario)`
- [Range queries](https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/2026.2/turma_intermediaria/ListaIntermediaria_CoordinateCompression_SparseTable): `Pacode/2026.2/turma_intermediaria/ListaIntermediaria_CoordinateCompression_SparseTable`
- [OPI 2024](https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/OPI2024): `Pacode/OPI2024`
- [Graph and DSU](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/OPI2024/G.cpp): `Pacode/OPI2024/G.cpp`
- [OPI 2025](https://github.com/viniciusrodriguesai/competitive-programming/tree/main/Pacode/opi_2025): `Pacode/opi_2025`
- [NTT solution](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/Pacode/opi_2025/problemaG.cpp): `Pacode/opi_2025/problemaG.cpp`

### Independent study

- [STL examples](https://github.com/viniciusrodriguesai/competitive-programming/tree/main/study/basic-cpp): `study/basic-cpp`

### Luogu practice

- [Shanghai replay](https://github.com/viniciusrodriguesai/competitive-programming/blob/main/luogu/luoguicpc-2025-shanghai-regional-replay/A.cpp): `luogu/luoguicpc-2025-shanghai-regional-replay/A.cpp`

### Other components

- **Problem input**
- **Computed output**

## Connections

- Problem input → Vector sort: provides input
- Vector sort → Computed output: prints result
- Problem input → Good Sequence: provides input
- Good Sequence → Computed output: prints result
- Problem input → Cards: provides input
- Cards → Computed output: prints result
- Problem input → STL examples: provides input
- STL examples → Computed output: prints result
- Problem input → Apartments: provides input
- Apartments → Computed output: prints result
- Problem input → Knapsack: provides input
- Knapsack → Computed output: prints result
- Problem input → Number theory: provides input
- Number theory → Computed output: prints result
- Problem input → Dynamic programming: provides input
- Dynamic programming → Computed output: prints result
- Problem input → Range queries: provides input
- Range queries → Computed output: prints result
- Problem input → OPI 2024: provides input
- OPI 2024 → Computed output: prints result
- Problem input → Graph and DSU: provides input
- Graph and DSU → Computed output: prints result
- Problem input → OPI 2025: provides input
- OPI 2025 → Computed output: prints result
- Problem input → NTT solution: provides input
- NTT solution → Computed output: prints result
- Problem input → Shanghai replay: provides input
- Shanghai replay → Computed output: prints result
