E. Разбиение на пары

Codeforces
IDCF10155E
Time2000ms
Memory256MB
Difficulty
English · Original
Formal · Original
Секретные агенства «Кингсман» и «Стейтсман» готовят совместную масштабную операцию. Для операции им необходимо разбить агентов на пары. У каждого агента есть предпочтение. Он либо хочет быть в паре с коллегой из своего агенства, либо с агентом из другого. При этом, если агент получит в пару агента, не подходящего под свои предпочтения, то ему будет дискомфортно, и он не сможет работать с максимальной эффективностью. Мерлин знает предпочтения всех агентов. Он хочет разбить их по парам так, чтобы минимизировать количество агентов, которым будет дискомфортно. Входные данные содержат четыре натуральных числа a, b, c и d — предпочтения агентов: число агентов «Кингсман», которые хотят работать с коллегами, число агентов «Кингсман», которые хотят в напарники агента из «Стейтсман», число агентов «Стейтсман», которые хотят работать с коллегой из своего агенства и число агентов «Стейтсман», которые хотят быть в паре с агентом из «Кингсман», соответственно. (1 ≤ a, b, c, d ≤ 100). Гарантируется, что a + b + c + d делится на 2 без остатка. Выведите одно число — минимальное количество агентов, которым будет дискомфортно. ## Входные Данные Входные данные содержат четыре натуральных числа a, b, c и d — предпочтения агентов: число агентов «Кингсман», которые хотят работать с коллегами, число агентов «Кингсман», которые хотят в напарники агента из «Стейтсман», число агентов «Стейтсман», которые хотят работать с коллегой из своего агенства и число агентов «Стейтсман», которые хотят быть в паре с агентом из «Кингсман», соответственно. (1 ≤ a, b, c, d ≤ 100).Гарантируется, что a + b + c + d делится на 2 без остатка. ## Выходные Данные Выведите одно число — минимальное количество агентов, которым будет дискомфортно. ## Примеры Входные данные1 1 1 1Выходные данные2Входные данные2 1 2 1Выходные данные0 [samples]
**Definitions** Let $ a, b, c, d \in \mathbb{Z}^+ $ denote: - $ a $: Kingsman agents preferring partner from Kingsman, - $ b $: Kingsman agents preferring partner from Statesman, - $ c $: Statesman agents preferring partner from Statesman, - $ d $: Statesman agents preferring partner from Kingsman. Total agents: $ N = a + b + c + d $, with $ N $ even. **Constraints** $ 1 \leq a, b, c, d \leq 100 $, and $ a + b + c + d \equiv 0 \pmod{2} $. **Objective** Minimize the number of uncomfortable agents, where discomfort occurs when an agent is paired with someone outside their preference. Let $ x $ be the number of Kingsman–Statesman pairs formed. Then: - Kingsman–Kingsman pairs: $ \frac{a + b - 2x}{2} $, - Statesman–Statesman pairs: $ \frac{c + d - 2x}{2} $. Feasibility requires: - $ 0 \leq x \leq \min(b, d) $, - $ a \geq b - x $, $ c \geq d - x $, - $ a + b - 2x \geq 0 $, $ c + d - 2x \geq 0 $. Uncomfortable agents: - Kingsman agents preferring Statesman but paired with Kingsman: $ \max(0, b - x) $, - Statesman agents preferring Kingsman but paired with Statesman: $ \max(0, d - x) $. Total discomfort: $$ \min_{x \in \mathbb{Z},\, 0 \leq x \leq \min(b,d)} \left( \max(0, b - x) + \max(0, d - x) \right) $$
API Response (JSON)
{
  "problem": {
    "name": "E. Разбиение на пары",
    "description": {
      "content": "Секретные агенства «Кингсман» и «Стейтсман» готовят совместную масштабную операцию. Для операции им необходимо разбить агентов на пары. У каждого агента есть предпочтение. Он либо хочет быть в паре с",
      "description_type": "Markdown"
    },
    "platform": "Codeforces",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "CF10155E"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "Секретные агенства «Кингсман» и «Стейтсман» готовят совместную масштабную операцию. Для операции им необходимо разбить агентов на пары.\n\nУ каждого агента есть предпочтение. Он либо хочет быть в паре с...",
      "is_translate": false,
      "language": "English"
    },
    {
      "statement_type": "Markdown",
      "content": "**Definitions**  \nLet $ a, b, c, d \\in \\mathbb{Z}^+ $ denote:  \n- $ a $: Kingsman agents preferring partner from Kingsman,  \n- $ b $: Kingsman agents preferring partner from Statesman,  \n- $ c $: Stat...",
      "is_translate": false,
      "language": "Formal"
    }
  ]
}
Full JSON Raw Segments