# Treinamento OBI

## 🤵 Introdução

Programação Competitiva é classificada como um mind sport, uma competição intelectual que foca no desenvolvimento das habilidades cognitivas. Busca incentivar a resolução de problemas dentro de um espaço de tempo determinado, de forma eficiente, para isso, é necessário conhecer algoritmos e estruturas de dados que auxiliam na resolução desses problemas.

No Brasil destacam-se a Olimpíada Brasileira de Informática (OBI), que é uma competição de programação para alunos do ensino fundamental, médio, técnico, assim como calouros em cursos de graduação. A Maratona de Programação da SBC e a Maratona Feminina de Programação, ambas voltadas para alunos de ensino superior.

O foco deste livro é auxiliar e preparar alunos interessados em participarem de competições de programação, ou mesmo os que desejam somente melhorar suas habilidades em programação, com um enfoque especial para conteúdos e exercícios da OBI.

## 📖 Conteúdo

O conteúdo desse repositório é dividido em duas linguagens: C++ e Python, elas foram escolhidas por serem as mais utilizadas em programação competitiva, e aceitas nas competições nacionais e internacionais.

Cada linguagem possui sua própria divisão com vários artigos que podem ser acessados pelo menu lateral, eles foram pensados para serem lidos em sequência, entretanto caso você seja um leitor mais experiente, pode ler os que chamarem sua atenção primeiro. Ademais, cada linguagem apresenta uma estrutura semelhante de artigos, porém, com com alguns artigos a mais ou a menos e exemplos diferentes, seguindo as particularidades de cada linguagem.

Atualmente, todos os exercícios são retirados do [Beecrowd](https://www.beecrowd.com.br/judge/pt/), que é um juiz online brasileiro com uma grande variedade de problemas de programação competitiva, muito utilizado por competidores brasileiros e responsável por hospedar a Fase Zero da Maratona de Programação da SBC anualmente.

Caso você queira ver a solução de algum exercício, você pode acessar o nosso [repositório de soluções](https://github.com/FACOMpetindo/programacao-competitiva)

## ❓ Como contribuir

Caso queira contribuir, por favor acesse o nosso [repositório no GitHub](https://github.com/FACOMpetindo/programacao-competitiva) e veja o [guia de contribuição](https://github.com/FACOMpetindo/programacao-competitiva/blob/main/CONTRIBUTING.md).

## 🧠 Pré-requisitos

Não é necessário saber ambas Python e C++, os artigos são independentes, então você pode escolher a linguagem que preferir, ou até mesmo ler os dois.

Levando em conta a linguagem escolhida, esse livro assume que você já sabe conceitos bases das linguagens, como:

* Variáveis
* Tipos de dados
* Estruturas de controle
* Estruturas de repetição
* Vetores e listas
* Matrizes e dicionários
* Funções

## 💻 Linguagens

* [C++](/programacao-competitiva/c++.md)
* [Python](/programacao-competitiva/python.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://facompetindo.gitbook.io/programacao-competitiva/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
