Programação CompetitivaFácil

Partição em duas submatrizes

Guia detalhado e implementação de Python para o problema de 'Partição em dois subarrays'.

Declaração do problema

Fácil

Escreva uma função max_difference_subarrays(arr, k) que receba um array arr de tamanho n e um número inteiro k. Ele seleciona um subconjunto de elementos k de arr de modo que a diferença absoluta entre a soma dos elementos selecionados e a soma dos elementos n-k restantes seja maximizada e retorna esta diferença absoluta máxima.

Restrições
  • 1 <= k < len(arr) <= 10^5
  • 1 <= arr[i] <= 10^4

Exemplos

Example 1
Input
max_difference_subarrays([8, 4, 5, 2, 10], 2)
Output
17
Explanation

If we select the 2 smallest elements {2, 4} (sum 6), the remaining elements are {8, 5, 10} (sum 23). The difference is |23 - 6| = 17.

Example 2
Input
max_difference_subarrays([1, 1, 1, 1, 1], 3)
Output
1
Explanation

Select 3 elements (sum 3), remaining 2 sum to 2. The difference is 1.

Need a Hint?
Considere o uso de estruturas de dados específicas do Greedy, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir no Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.