{"version":"https://jsonfeed.org/version/1.1","title":"Misc on 练习本","description":"Recent content in Misc on 练习本","home_page_url":"https://4hh.github.io/","feed_url":"https://4hh.github.io/misc/index.json","language":"zh-cn","icon":"https://4hh.github.io/apple-touch-icon.png","favicon":"https://4hh.github.io/apple-touch-icon.png","authors":[{"name":"4hh","url":"https://4hh.github.io"}],"items":[{"title":"第十七届北京信息科技大学程序设计竞赛","date_published":"2025-11-27T18:51:59+08:00","date_modified":"2025-11-27T18:51:59+08:00","id":"https://4hh.github.io/misc/nowcoder-bistu-17th/","url":"https://4hh.github.io/misc/nowcoder-bistu-17th/","content_html":"\u003cp\u003e\u003ca href=\"https://ac.nowcoder.com/acm/contest/122913\"\u003e比赛🔗\u003c/a\u003e\u003c/p\u003e\n\u003ch1 id=\"problem-a-小苯接雨水\"\u003eProblem A. 小苯接雨水\u003c/h1\u003e\n\u003cp\u003e把前两大的挡板放在左右两端。\u003c/p\u003e\n\u003ch1 id=\"problem-b-小芳与残骸\"\u003eProblem B. 小芳与残骸\u003c/h1\u003e\n\u003cp\u003e模拟几个样例，发现答案就是 $2^{n - 1}$\u003c/p\u003e\n\u003ch1 id=\"problem-c-小苯的棋盘游戏\"\u003eProblem C. 小苯的棋盘游戏\u003c/h1\u003e\n\u003cp\u003e发现如果行数和列数有一个是奇数，那么一定存在解。\u003c/p\u003e\n\u003ch1 id=\"problem-d-暴暴龙的防奶龙要塞\"\u003eProblem D. 暴暴龙的防奶龙要塞\u003c/h1\u003e\n\u003cp\u003e多画图，我们发现当 $n \\le 4$ 的时候无解。当 $n \\ge 5$ 时，可以这样构造：中间一个点，点的两边分别和两个环通过两条边进行连接。\u003c/p\u003e\n\u003cp\u003e最小的环其实就是一条边。因此构造方案就是：(1,2) 连接一条边。[4,n]构成一个环。3 作为中间点，和上面每个环分别连接两条边。\u003c/p\u003e\n\u003ch1 id=\"problem-e-奶龙与奥利奥自动机\"\u003eProblem E. 奶龙与奥利奥自动机\u003c/h1\u003e\n\u003cp\u003e组合数学题目。\u003c/p\u003e\n\u003cp\u003e设 $num_k$ 代表使用 $k$ 次操作，能够产生的非空字符串的数量。 $a_k$ 代表使用 $k$ 次操作，产生的非空字符串中，结尾是 0 的字符串的数量。 $b_k$ 代表使用 $k$ 次操作，产生的非空字符串中，结尾是 $1$ 的字符串的数量。 $c_k$ 代表使用 $k$ 次操作，产生的非空字符串中，结尾是 $01$ 的字符串的数量。\u003c/p\u003e\n\u003cp\u003e我们有这样的递推关系： $num_k = a_k + b_k + c_k$ ， $a_k = c_k = num_{k - 1}$ ， $b_k = b_{k - 1} + c_{k - 1}$\u003c/p\u003e\n\u003cp\u003e根据上面的关系，可以得到 $num_k = 3num_{k - 1} - num_{k - 2}$\u003c/p\u003e\n\u003cp\u003e答案就是 $\\sum_{k = 0}^{n} num_{k}$\u003c/p\u003e\n\u003cp\u003e初始状态下， $num_0 = 1$ ， $num_1 = 3$ 。其中 $num_0 = 1$ 代表的含义其实是空字符串，0 次操作只有一种情况，把它作为特殊情况处理。\u003c/p\u003e\n\u003cdiv data-codeblock itemscope itemtype=\"https://schema.org/SoftwareSourceCode\" \u003e\n\u003cbutton data-codebutton class=\"codebutton\" title=\"Copy code\"\u003e\u003cspan\u003e⧉\u003c/span\u003e\u003c/button\u003e\n\u003cmeta itemprop=\"codeSampleType\" content=\"snippet\"\u003e\n\u003cmeta data-codetext itemprop=\"text\" content=\"\u0026#34;void solve() {\\n  int n;\\n  cin \\u003e\\u003e n;\\n  ll ans = 0;\\n  ll a = 1, b = 3;\\n  ans \u0026#43;= a \u0026#43; b;\\n\\n  For1(i, 2, n) {\\n    ll c = (3 * b - a \u0026#43; MOD1) % MOD1;\\n    a = b;\\n    b = c;\\n    ans = (ans \u0026#43; b) % MOD1;\\n  }\\n  cout \\u003c\\u003c ans \\u003c\\u003c \u0026#39;\\\\n\u0026#39;;\\n}\u0026#34;\"\u003e\n\u003cmeta itemprop=\"programmingLanguage\" content=\"cpp\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\n\u003ccode class=\"language-cpp\" data-lang=\"cpp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003esolve\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ll ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ll a \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e b \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e3\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ans \u003cspan style=\"color:#0550ae\"\u003e+=\u003c/span\u003e a \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e2\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    ll c \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e3\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e*\u003c/span\u003e b \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e a \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e MOD1\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e%\u003c/span\u003e MOD1\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    a \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    b \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e c\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eans \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e%\u003c/span\u003e MOD1\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;\\n\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003ch1 id=\"problem-f-奶龙智斗暴暴龙\"\u003eProblem F. 奶龙智斗暴暴龙\u003c/h1\u003e\n\u003cp\u003e猜到采用极端分配的方式比较优。\u003c/p\u003e\n\u003cp\u003e在桶 A 中放置 1 个白球，在桶 B 中放置 $n-1$ 个白球和 $n$ 个黑球。此时如果选择桶 A，那么取到白球的概率是 1. 如果选择桶 B，那么取到白球的概率是 $\\frac{n-1}{2n-1}$\u003c/p\u003e\n\u003cp\u003e最终答案是 $\\frac{3n-2}{4n-2}$\u003c/p\u003e\n\u003ch1 id=\"problem-g-小红的抛物线\"\u003eProblem G. 小红的抛物线\u003c/h1\u003e\n\u003cp\u003e把三个点按照横坐标排序，设三个点是 $a, b, c$ ，从 $b$ 做 $x$ 轴的垂线，交线段 $a, c$ 于点 $d$ ，判断点 $d$ 和点 $b$ 的 Y 坐标的大小即可。\u003c/p\u003e\n\u003ch1 id=\"problem-h-小苯的序列染色\"\u003eProblem H. 小苯的序列染色\u003c/h1\u003e\n\u003cp\u003e每个点可能向左扩展，也可能向右扩展，也就是每个点最多对应 2 个区间。一共有 $2n$ 个区间。问题转化成从这些区间中选出最少的区间，使得这些区间能够覆盖 $[1, n]$\u003c/p\u003e\n\u003cp\u003e这可以贪心：先按照区间的左端点从小到大排序。维护当前能够覆盖的最远距离 \u003ccode\u003ecur_end\u003c/code\u003e，如果当前区间的左端点 \u003ccode\u003el \u0026lt;= cur_end + 1\u003c/code\u003e, 说明当前区间能够接上之前一段。那么从能够接上的这些区间中，选择一个右端点 $r$ 最大的。如果找不到能够接上的区间，直接返回无解。\u003c/p\u003e\n\u003cdiv data-codeblock itemscope itemtype=\"https://schema.org/SoftwareSourceCode\" \u003e\n\u003cbutton data-codebutton class=\"codebutton\" title=\"Copy code\"\u003e\u003cspan\u003e⧉\u003c/span\u003e\u003c/button\u003e\n\u003cmeta itemprop=\"codeSampleType\" content=\"snippet\"\u003e\n\u003cmeta data-codetext itemprop=\"text\" content=\"\u0026#34;void solve() {\\n  int n;\\n  cin \\u003e\\u003e n;\\n\\n  VI a(n \u0026#43; 1);\\n  For1(i, 1, n) cin \\u003e\\u003e a[i];\\n\\n  vector\\u003cPII\\u003e b;\\n  For1(i, 1, n) {\\n    int l = i - a[i] \u0026#43; 1, r = i \u0026#43; a[i] - 1;\\n    if (l \\u003e= 1 \\u0026\\u0026 l \\u003c= n \\u0026\\u0026 a[i] \\u003e= a[l]) {\\n      b.push_back({l, i});\\n    }\\n    if (r \\u003c= n \\u0026\\u0026 a[i] \\u003e= a[r]) {\\n      b.push_back({i, r});\\n    }\\n  }\\n  sort(all(b), [\\u0026](PII x, PII y) {\\n    if (x.f1 != y.f1)\\n      return x.f1 \\u003c y.f1;\\n    return x.f2 \\u003e y.f2;\\n  });\\n\\n  if (b.empty()) {\\n    cout \\u003c\\u003c \\\u0026#34;-1\\\\n\\\u0026#34;;\\n    return;\\n  }\\n\\n  int cur_end = 0, len = SZ(b), ans = 0, nx_end = 0;\\n  int i = 0;\\n  while (cur_end \\u003c n) {\\n    while (i \\u003c len \\u0026\\u0026 b[i].f1 \\u003c= cur_end \u0026#43; 1) {\\n      ckmax(nx_end, b[i].f2);\\n      i\u0026#43;\u0026#43;;\\n    }\\n\\n    if (nx_end == cur_end) {\\n      cout \\u003c\\u003c \\\u0026#34;-1\\\\n\\\u0026#34;;\\n      return;\\n    }\\n    ans\u0026#43;\u0026#43;;\\n    cur_end = nx_end;\\n  }\\n  if (cur_end == n)\\n    cout \\u003c\\u003c ans \\u003c\\u003c \u0026#39;\\\\n\u0026#39;;\\n  else\\n    cout \\u003c\\u003c \\\u0026#34;-1\\\\n\\\u0026#34;;\\n}\u0026#34;\"\u003e\n\u003cmeta itemprop=\"programmingLanguage\" content=\"cpp\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\n\u003ccode class=\"language-cpp\" data-lang=\"cpp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003esolve\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  VI a\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003en \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  vector\u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003ePII\u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e l \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e i \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e r \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e i \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003el \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e l \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;=\u003c/span\u003e n \u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;=\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003el\u003cspan style=\"color:#1f2328\"\u003e])\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      b\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003epush_back\u003cspan style=\"color:#1f2328\"\u003e({\u003c/span\u003el\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e i\u003cspan style=\"color:#1f2328\"\u003e});\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003er \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;=\u003c/span\u003e n \u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;=\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003er\u003cspan style=\"color:#1f2328\"\u003e])\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      b\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003epush_back\u003cspan style=\"color:#1f2328\"\u003e({\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e r\u003cspan style=\"color:#1f2328\"\u003e});\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  sort\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eall\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eb\u003cspan style=\"color:#1f2328\"\u003e),\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e](\u003c/span\u003ePII x\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e PII y\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ex\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003ef1 \u003cspan style=\"color:#0550ae\"\u003e!=\u003c/span\u003e y\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003ef1\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#cf222e\"\u003ereturn\u003c/span\u003e x\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003ef1 \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e y\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003ef1\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003ereturn\u003c/span\u003e x\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003ef2 \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e y\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003ef2\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e});\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eb\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003eempty\u003cspan style=\"color:#1f2328\"\u003e())\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#34;-1\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\\n\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\u0026#34;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003ereturn\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e cur_end \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e len \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e SZ\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eb\u003cspan style=\"color:#1f2328\"\u003e),\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e nx_end \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e i \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003ewhile\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ecur_end \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003ewhile\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e len \u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e].\u003c/span\u003ef1 \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;=\u003c/span\u003e cur_end \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      ckmax\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003enx_end\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e].\u003c/span\u003ef2\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      i\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003enx_end \u003cspan style=\"color:#0550ae\"\u003e==\u003c/span\u003e cur_end\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#34;-1\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\\n\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\u0026#34;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#cf222e\"\u003ereturn\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    ans\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cur_end \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e nx_end\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ecur_end \u003cspan style=\"color:#0550ae\"\u003e==\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;\\n\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eelse\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#34;-1\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\\n\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\u0026#34;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003ch1 id=\"problem-i-小苯的字符串构造\"\u003eProblem I. 小苯的字符串构造\u003c/h1\u003e\n\u003cp\u003e题目意思比较难懂。\u003c/p\u003e\n\u003cp\u003e其实就是要求长度是奇数的子字符串，出现次数都是奇数。对偶数长度的字符串没有要求。\u003c/p\u003e\n\u003cp\u003e模拟几个样例发现，如果 $n$ 是奇数，那么我们可以构造全部是 $a$ 的字符串。这恰好符合要求。如果 $n$ 是偶数，我们只需要添加一个字符 $b$ 即可。\u003c/p\u003e\n\u003ch1 id=\"problem-j-小苯的运算式\"\u003eProblem J. 小苯的运算式\u003c/h1\u003e\n\u003cp\u003e设状态 $d_{i, 0}$ 表示只考虑前 $i$ 个元素，最后一个数字的符号是负号的最大值。状态 $d_{i, 1}$ 表示只考虑前 $i$ 个元素，最后一个数字的符号是正号的最大值。这是一个线性 DP\u003c/p\u003e\n\u003ch1 id=\"problem-k-小苯的闯关游戏\"\u003eProblem K. 小苯的闯关游戏\u003c/h1\u003e\n\u003cp\u003e注意到如果初始战力越大，到最后越容易满足条件。也就是有单调的性质，因此我们可以对答案二分。\u003c/p\u003e\n\u003ch1 id=\"problem-l-小苯的序列还原\"\u003eProblem L. 小苯的序列还原\u003c/h1\u003e\n\u003cp\u003e考虑最后一次操作，我们可以直接确定答案数组的最后一个位置 $b_n$ ，它的位置再也不会发生改变了。\u003c/p\u003e\n\u003cp\u003e根据这个想法，我们可以依次确定 $b_{n - 1}, b_{n - 2}, \\ldots$\u003c/p\u003e\n\u003cp\u003e我们只需要维护当前需要考虑的区间 $[l, r]$ 和当前的翻转次数是奇数还是偶数。\u003c/p\u003e\n\u003ch1 id=\"problem-m-gpa-calculator\"\u003eProblem M. GPA Calculator\u003c/h1\u003e\n\u003cp\u003e模拟。\u003c/p\u003e\n"},{"title":"牛客2025秋季算法编程训练联赛6-基础组","date_published":"2025-11-20T00:03:51+08:00","date_modified":"2025-11-20T00:03:51+08:00","id":"https://4hh.github.io/misc/nowcoder-2025-fall-6/","url":"https://4hh.github.io/misc/nowcoder-2025-fall-6/","content_html":"\u003cp\u003e题目🔗 \u003ca href=\"https://ac.nowcoder.com/acm/contest/120455#question\"\u003e牛客2025秋季算法编程训练联赛6-基础组\u003c/a\u003e\u003c/p\u003e\n\u003ch1 id=\"a-签到题\"\u003eA. 签到题\u003c/h1\u003e\n\u003cp\u003e三条边构成三角形的充分必要条件是：假设 $a \\le b \\le c$ ，满足 $a + b \\lt c$\u003c/p\u003e\n\u003cp\u003e题目给出的样例有一点误导性，开始以为需要等腰三角形才可以，其实并不是。\u003c/p\u003e\n\u003cp\u003e如果能够组成三角形，那么必定能够构造三个圆外切。设它们的半径分别是 $r_1, r_2, r_3$ , 那么满足 $r_1 + r_2 = a, r_1 + r_3 = b, r_2 + r_3 = c$ ，求解这个三元一次方程组。\u003c/p\u003e\n\u003cdiv data-codeblock itemscope itemtype=\"https://schema.org/SoftwareSourceCode\" \u003e\n\u003cbutton data-codebutton class=\"codebutton\" title=\"Copy code\"\u003e\u003cspan\u003e⧉\u003c/span\u003e\u003c/button\u003e\n\u003cmeta itemprop=\"codeSampleType\" content=\"snippet\"\u003e\n\u003cmeta data-codetext itemprop=\"text\" content=\"\u0026#34;void solve() {\\n  vector\\u003cint\\u003e a(3);\\n  For(i, 0, 3) cin \\u003e\\u003e a[i];\\n  sort(all(a));\\n\\n  if (a[0] \u0026#43; a[1] \\u003e a[2]) {\\n    vector\\u003cdouble\\u003e arr(3);\\n    arr[1] = (1.0 * a[0] \u0026#43; a[1] - a[2]) / 2;\\n    arr[2] = a[1] - arr[1];\\n    arr[0] = a[0] - arr[1];\\n    sort(all(arr));\\n    cout \\u003c\\u003c \\\u0026#34;Yes\\\\n\\\u0026#34;;\\n    for (auto i : arr) {\\n      cout \\u003c\\u003c fixed \\u003c\\u003c setprecision(2) \\u003c\\u003c i \\u003c\\u003c \u0026#39; \u0026#39;;\\n    }\\n    cout \\u003c\\u003c \u0026#39;\\\\n\u0026#39;;\\n  } else {\\n    cout \\u003c\\u003c \\\u0026#34;wtnl\\\\n\\\u0026#34;;\\n  }\\n}\u0026#34;\"\u003e\n\u003cmeta itemprop=\"programmingLanguage\" content=\"cpp\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\n\u003ccode class=\"language-cpp\" data-lang=\"cpp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003esolve\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  vector\u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e3\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e3\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  sort\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eall\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ea\u003cspan style=\"color:#1f2328\"\u003e));\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ea\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e2\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e])\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    vector\u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003edouble\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e arr\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e3\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    arr\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e1.0\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e*\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e2\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e])\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e/\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e2\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    arr\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e2\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e arr\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    arr\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e arr\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    sort\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eall\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003earr\u003cspan style=\"color:#1f2328\"\u003e));\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#34;Yes\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\\n\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\u0026#34;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003efor\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003eauto\u003c/span\u003e \u003cspan style=\"color:#900;font-weight:bold\"\u003ei\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e:\u003c/span\u003e arr\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e fixed \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e setprecision\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e2\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e i \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39; \u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;\\n\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e \u003cspan style=\"color:#cf222e\"\u003eelse\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#34;wtnl\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\\n\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\u0026#34;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003ch1 id=\"b-括号序列\"\u003eB. 括号序列\u003c/h1\u003e\n\u003cp\u003e这道题比 A 简单。\u003c/p\u003e\n\u003cp\u003e我们只需要求出不匹配的括号的个数，只有两种情况不匹配：剩余的左括号，不能被匹配掉的右括号。\u003c/p\u003e\n\u003cdiv data-codeblock itemscope itemtype=\"https://schema.org/SoftwareSourceCode\" \u003e\n\u003cbutton data-codebutton class=\"codebutton\" title=\"Copy code\"\u003e\u003cspan\u003e⧉\u003c/span\u003e\u003c/button\u003e\n\u003cmeta itemprop=\"codeSampleType\" content=\"snippet\"\u003e\n\u003cmeta data-codetext itemprop=\"text\" content=\"\u0026#34;void solve() {\\n  int n;\\n  string s;\\n  cin \\u003e\\u003e n \\u003e\\u003e s;\\n\\n  int ans{}, cur = 0;\\n  for (auto c : s) {\\n    if (c == \u0026#39;(\u0026#39;)\\n      cur\u0026#43;\u0026#43;;\\n    else {\\n      if (cur \\u003e 0)\\n        cur--;\\n      else\\n        ans\u0026#43;\u0026#43;;\\n    }\\n  }\\n\\n  ans \u0026#43;= cur;\\n  cout \\u003c\\u003c ans \\u003c\\u003c \u0026#39;\\\\n\u0026#39;;\\n}\u0026#34;\"\u003e\n\u003cmeta itemprop=\"programmingLanguage\" content=\"cpp\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\n\u003ccode class=\"language-cpp\" data-lang=\"cpp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003esolve\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  string s\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e n \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e s\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e ans\u003cspan style=\"color:#1f2328\"\u003e{},\u003c/span\u003e cur \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003efor\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003eauto\u003c/span\u003e \u003cspan style=\"color:#900;font-weight:bold\"\u003ec\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e:\u003c/span\u003e s\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ec \u003cspan style=\"color:#0550ae\"\u003e==\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;(\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      cur\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eelse\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ecur \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        cur\u003cspan style=\"color:#0550ae\"\u003e--\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#cf222e\"\u003eelse\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        ans\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ans \u003cspan style=\"color:#0550ae\"\u003e+=\u003c/span\u003e cur\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;\\n\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003ch1 id=\"c-十字阵列\"\u003eC. 十字阵列\u003c/h1\u003e\n\u003cp\u003e记录第 $i$ 行总的伤害数，记录第 $j$ 列总的伤害数。如果把这两部分加起来，那么位置 $(i, j)$ 的伤害会被计算两次，因此我们需要记录下 $(i, j)$ 最后应该需要减去的伤害数。这样我们就可以得到每个位置最后实际的伤害数。\u003c/p\u003e\n\u003cdiv data-codeblock itemscope itemtype=\"https://schema.org/SoftwareSourceCode\" \u003e\n\u003cbutton data-codebutton class=\"codebutton\" title=\"Copy code\"\u003e\u003cspan\u003e⧉\u003c/span\u003e\u003c/button\u003e\n\u003cmeta itemprop=\"codeSampleType\" content=\"snippet\"\u003e\n\u003cmeta data-codetext itemprop=\"text\" content=\"\u0026#34;const int N = 2010;\\nll a[N][N], col[N], row[N];\\n\\nvoid solve() {\\n  int n, m, h;\\n  cin \\u003e\\u003e n \\u003e\\u003e m \\u003e\\u003e h;\\n\\n  For1(i, 1, n) {\\n    row[i] = 0;\\n    For1(j, 1, m) a[i][j] = 0;\\n  }\\n  For1(j, 1, m) col[j] = 0;\\n\\n  For(i, 0, h) {\\n    int x, y, z;\\n    cin \\u003e\\u003e x \\u003e\\u003e y \\u003e\\u003e z;\\n    row[x] \u0026#43;= z;\\n    col[y] \u0026#43;= z;\\n    a[x][y] \u0026#43;= z;\\n  }\\n\\n  ll ans = 0;\\n  For1(i, 1, n) {\\n    For1(j, 1, m) {\\n      ll tmp = row[i] \u0026#43; col[j] - a[i][j];\\n      ans = (ans \u0026#43; (tmp * (i \u0026#43; j) % MOD)) % MOD;\\n    }\\n  }\\n  cout \\u003c\\u003c ans \\u003c\\u003c \u0026#39;\\\\n\u0026#39;;\\n}\u0026#34;\"\u003e\n\u003cmeta itemprop=\"programmingLanguage\" content=\"cpp\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\n\u003ccode class=\"language-cpp\" data-lang=\"cpp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003econst\u003c/span\u003e \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e N \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e2010\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003ell a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eN\u003cspan style=\"color:#1f2328\"\u003e][\u003c/span\u003eN\u003cspan style=\"color:#1f2328\"\u003e],\u003c/span\u003e col\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eN\u003cspan style=\"color:#1f2328\"\u003e],\u003c/span\u003e row\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eN\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003esolve\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e m\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e h\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e n \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e m \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e h\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    row\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e m\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e][\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e m\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e col\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e h\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e x\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e y\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e z\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e x \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e y \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e z\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    row\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ex\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+=\u003c/span\u003e z\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    col\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ey\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+=\u003c/span\u003e z\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ex\u003cspan style=\"color:#1f2328\"\u003e][\u003c/span\u003ey\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+=\u003c/span\u003e z\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ll ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e m\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      ll tmp \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e row\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e col\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e][\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eans \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003etmp \u003cspan style=\"color:#0550ae\"\u003e*\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e j\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e%\u003c/span\u003e MOD\u003cspan style=\"color:#1f2328\"\u003e))\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e%\u003c/span\u003e MOD\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;\\n\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003ch1 id=\"d-配对\"\u003eD. 配对\u003c/h1\u003e\n\u003cp\u003e容易想到我们可以对答案进行二分，设最终的答案是 $sum$ ，我们需要保证两个数组中，我们可以构造出数对和 $\\ge sum$ 的数对的数量 $\\ge k$ 。此时最大 $sum$ 就是所求。\u003c/p\u003e\n\u003cp\u003e接下来考虑对于给定的 $sum$ ，如何找到这样的数对的数量，使得每个数对的和都 $\\ge sum$ 。这恰好是一个双指针经典问题：把数组 $A$ 从小到大排序，数组 $B$ 从大到小排序。如果 $A_i + B_j \\ge sum$ ，那么我们找到合法的一对，此时 $i++, j++$ 。如果 $A_i + B_j \\lt sum$ ，此时 $i++$ 。\u003c/p\u003e\n\u003cdiv data-codeblock itemscope itemtype=\"https://schema.org/SoftwareSourceCode\" \u003e\n\u003cbutton data-codebutton class=\"codebutton\" title=\"Copy code\"\u003e\u003cspan\u003e⧉\u003c/span\u003e\u003c/button\u003e\n\u003cmeta itemprop=\"codeSampleType\" content=\"snippet\"\u003e\n\u003cmeta data-codetext itemprop=\"text\" content=\"\u0026#34;void solve() {\\n  int n, k;\\n  cin \\u003e\\u003e n \\u003e\\u003e k;\\n\\n  VI a(n), b(n);\\n  For(i, 0, n) cin \\u003e\\u003e a[i];\\n  For(i, 0, n) cin \\u003e\\u003e b[i];\\n  sort(all(a));\\n  sort(all(b), greater\\u003cint\\u003e());\\n\\n  auto check = [\\u0026](ll sum) -\\u003e bool {\\n    ll res = 0;\\n    for (int i = 0, j = 0; i \\u003c n \\u0026\\u0026 j \\u003c n;) {\\n      if ((ll)a[i] \u0026#43; b[j] \\u003e= sum) {\\n        res\u0026#43;\u0026#43;;\\n        i\u0026#43;\u0026#43;;\\n        j\u0026#43;\u0026#43;;\\n      } else {\\n        i\u0026#43;\u0026#43;;\\n      }\\n    }\\n    return res \\u003e= k;\\n  };\\n\\n  ll l = 1, r = 2e8 \u0026#43; 10, mid;\\n  while (l \\u003c r) {\\n    mid = (l \u0026#43; r \u0026#43; 1) / 2;\\n    if (check(mid))\\n      l = mid;\\n    else\\n      r = mid - 1;\\n  }\\n\\n  cout \\u003c\\u003c l \\u003c\\u003c \u0026#39;\\\\n\u0026#39;;\\n}\u0026#34;\"\u003e\n\u003cmeta itemprop=\"programmingLanguage\" content=\"cpp\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\n\u003ccode class=\"language-cpp\" data-lang=\"cpp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003esolve\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e k\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e n \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e k\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  VI a\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003en\u003cspan style=\"color:#1f2328\"\u003e),\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003en\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  sort\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eall\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ea\u003cspan style=\"color:#1f2328\"\u003e));\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  sort\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eall\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eb\u003cspan style=\"color:#1f2328\"\u003e),\u003c/span\u003e greater\u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e());\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eauto\u003c/span\u003e check \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e](\u003c/span\u003ell sum\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e-\u0026gt;\u003c/span\u003e \u003cspan style=\"color:#cf222e\"\u003ebool\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    ll res \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003efor\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e i \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e j \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e i \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e n \u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e j \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e((\u003c/span\u003ell\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003ea\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;=\u003c/span\u003e sum\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        res\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        i\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        j\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e \u003cspan style=\"color:#cf222e\"\u003eelse\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        i\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003ereturn\u003c/span\u003e res \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;=\u003c/span\u003e k\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e};\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ll l \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e r \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e2e8\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e10\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e mid\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003ewhile\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003el \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e r\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    mid \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003el \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e r \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e/\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e2\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003echeck\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003emid\u003cspan style=\"color:#1f2328\"\u003e))\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      l \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e mid\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eelse\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      r \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e mid \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e l \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;\\n\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003ch1 id=\"e-重排列\"\u003eE. 重排列\u003c/h1\u003e\n\u003cp\u003e容易发现，对两个数组排序，不会影响答案。\u003c/p\u003e\n\u003cp\u003e如果排序之后，还是不能够满足条件，那么无解。\u003c/p\u003e\n\u003cp\u003e如果有解，我们可以求出方案数。对于 $B_i$ ，我们可以求出 $A_j \\le B_i$ 的最大的 $j$ ，也就是说 $A[1..j]$ 中的所有数字都可以放在 $B_i$ 的位置。因为 $B$ 已经排好序了，我们还需要考虑到 $B[1..i-1]$ 它们已经占用的位置，因此 $B_i$ 对应的方案数是 $j - (i - 1)$ ，根据乘法原理，把所有的 $B_i$ 对应的方案数相乘就是答案。\u003c/p\u003e\n\u003cdiv data-codeblock itemscope itemtype=\"https://schema.org/SoftwareSourceCode\" \u003e\n\u003cbutton data-codebutton class=\"codebutton\" title=\"Copy code\"\u003e\u003cspan\u003e⧉\u003c/span\u003e\u003c/button\u003e\n\u003cmeta itemprop=\"codeSampleType\" content=\"snippet\"\u003e\n\u003cmeta data-codetext itemprop=\"text\" content=\"\u0026#34;void solve() {\\n  int n;\\n  cin \\u003e\\u003e n;\\n\\n  VI a(n), b(n);\\n  For(i, 0, n) cin \\u003e\\u003e a[i];\\n  For(i, 0, n) cin \\u003e\\u003e b[i];\\n  sort(all(a));\\n  sort(all(b));\\n\\n  ll ans = 0;\\n  int cnt = 0;\\n  For(i, 0, n) {\\n    if (a[i] \\u003e b[i]) {\\n      cout \\u003c\\u003c \\\u0026#34;0\\\\n\\\u0026#34;;\\n      return;\\n    }\\n  }\\n\\n  ans = 1;\\n  for (int i = 0, j = 0; j \\u003c n; j\u0026#43;\u0026#43;) {\\n    while (i \\u003c n \\u0026\\u0026 a[i] \\u003c= b[j])\\n      i\u0026#43;\u0026#43;;\\n    ans = ans * (i - cnt) % MOD;\\n    cnt\u0026#43;\u0026#43;;\\n  }\\n  cout \\u003c\\u003c ans \\u003c\\u003c \u0026#39;\\\\n\u0026#39;;\\n}\u0026#34;\"\u003e\n\u003cmeta itemprop=\"programmingLanguage\" content=\"cpp\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\n\u003ccode class=\"language-cpp\" data-lang=\"cpp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003esolve\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  VI a\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003en\u003cspan style=\"color:#1f2328\"\u003e),\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003en\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  sort\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eall\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ea\u003cspan style=\"color:#1f2328\"\u003e));\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  sort\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eall\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eb\u003cspan style=\"color:#1f2328\"\u003e));\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ll ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e cnt \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ea\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e])\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#34;0\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\\n\u003c/span\u003e\u003cspan style=\"color:#0a3069\"\u003e\u0026#34;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#cf222e\"\u003ereturn\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003efor\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e i \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e j \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e j \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e j\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003ewhile\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e n \u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u0026amp;\u003c/span\u003e a\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;=\u003c/span\u003e b\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ej\u003cspan style=\"color:#1f2328\"\u003e])\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      i\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e*\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e cnt\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e%\u003c/span\u003e MOD\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cnt\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;\\n\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n\u003ch1 id=\"f-图\"\u003eF. 图\u003c/h1\u003e\n\u003cp\u003e很有意思的一道题目。\u003c/p\u003e\n\u003cp\u003e简单路径的含义是，路径上不经过重复的点。\u003c/p\u003e\n\u003cp\u003e因为题目条件中要求每个点仅有一条出边，所以这个图其实并不复杂。可能存在环，如果存在环也没有问题，我们可以把环切断作为路径的一部分。\u003c/p\u003e\n\u003cp\u003e画图可以发现，分成一下几种情况：\u003c/p\u003e\n\u003cp\u003e最简单的是一条链的情况。\u003c/p\u003e\n\u003cp\u003e如果存在环，那么就不能“逃”出去了，每个点的入度都恰好是 1.\u003c/p\u003e\n\u003cp\u003e一条链或者多条链最多可以连接到一个环中。\u003c/p\u003e\n\u003cp\u003e也就是最终的答案构成一定是：一条链+可选的一个环。\u003c/p\u003e\n\u003cp\u003e我们可以通过拓扑排序，得到所有的环，同时得到所有链上每个点的深度（也就是以当前点做为终点的最长链的长度）。\u003c/p\u003e\n\u003cp\u003e然后对每个环进行一次 DFS，求出环的大小。用环大小加上链长度维护答案。\u003c/p\u003e\n\u003cdiv data-codeblock itemscope itemtype=\"https://schema.org/SoftwareSourceCode\" \u003e\n\u003cbutton data-codebutton class=\"codebutton\" title=\"Copy code\"\u003e\u003cspan\u003e⧉\u003c/span\u003e\u003c/button\u003e\n\u003cmeta itemprop=\"codeSampleType\" content=\"snippet\"\u003e\n\u003cmeta data-codetext itemprop=\"text\" content=\"\u0026#34;const int N = 1000100;\\nint n, g[N], deg[N], dep[N];\\nbool st[N];\\n\\nvoid Init() {\\n  For1(i, 1, n) {\\n    deg[i] = 0;\\n    g[i] = -1;\\n    st[i] = false;\\n    dep[i] = 1;\\n  }\\n}\\n\\nint dfs(int u, int \\u0026mx) {\\n  st[u] = true;\\n  ckmax(mx, dep[u]);\\n\\n  int res = 1, v = g[u];\\n  if (!st[v]) {\\n    res \u0026#43;= dfs(v, mx);\\n  }\\n  return res;\\n}\\n\\nvoid solve() {\\n  cin \\u003e\\u003e n;\\n  Init();\\n  For1(i, 1, n) {\\n    int x;\\n    cin \\u003e\\u003e x;\\n    g[i] = x;\\n    deg[x]\u0026#43;\u0026#43;;\\n  }\\n\\n  queue\\u003cint\\u003e q;\\n  For1(i, 1, n) {\\n    if (deg[i] == 0) {\\n      q.push(i);\\n    }\\n  }\\n\\n  while (!q.empty()) {\\n    auto t = q.front();\\n    st[t] = true;\\n    q.pop();\\n    int v = g[t];\\n    ckmax(dep[v], dep[t] \u0026#43; 1);\\n    deg[v]--;\\n    if (deg[v] == 0) {\\n      q.push(v);\\n    }\\n  }\\n\\n  int ans = 0;\\n  For1(i, 1, n) {\\n    if (!st[i]) {\\n      int cur_dep = 0;\\n      int sz = dfs(i, cur_dep), tmp = sz \u0026#43; cur_dep;\\n      ckmax(ans, tmp - 1);\\n    }\\n  }\\n  cout \\u003c\\u003c ans \\u003c\\u003c \u0026#39;\\\\n\u0026#39;;\\n}\u0026#34;\"\u003e\n\u003cmeta itemprop=\"programmingLanguage\" content=\"cpp\"\u003e\n\u003cpre tabindex=\"0\" class=\"chroma\"\u003e\n\u003ccode class=\"language-cpp\" data-lang=\"cpp\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003econst\u003c/span\u003e \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e N \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1000100\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e g\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eN\u003cspan style=\"color:#1f2328\"\u003e],\u003c/span\u003e deg\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eN\u003cspan style=\"color:#1f2328\"\u003e],\u003c/span\u003e dep\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eN\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003ebool\u003c/span\u003e st\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eN\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003eInit\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    deg\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    g\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    st\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003efalse\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    dep\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003edfs\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e u\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e\u0026amp;\u003c/span\u003emx\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  st\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eu\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003etrue\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  ckmax\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003emx\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e dep\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eu\u003cspan style=\"color:#1f2328\"\u003e]);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e res \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e v \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e g\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003eu\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e!\u003c/span\u003est\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ev\u003cspan style=\"color:#1f2328\"\u003e])\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    res \u003cspan style=\"color:#0550ae\"\u003e+=\u003c/span\u003e dfs\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ev\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e mx\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003ereturn\u003c/span\u003e res\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#cf222e\"\u003evoid\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003esolve\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e()\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  Init\u003cspan style=\"color:#1f2328\"\u003e();\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e x\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    cin \u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u0026gt;\u003c/span\u003e x\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    g\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e x\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    deg\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ex\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e++\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  queue\u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u003c/span\u003e\u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e\u0026gt;\u003c/span\u003e q\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003edeg\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e==\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      q\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003epush\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003ewhile\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e!\u003c/span\u003eq\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003eempty\u003cspan style=\"color:#1f2328\"\u003e())\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eauto\u003c/span\u003e t \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e q\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003efront\u003cspan style=\"color:#1f2328\"\u003e();\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    st\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003et\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#6639ba\"\u003etrue\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    q\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003epop\u003cspan style=\"color:#1f2328\"\u003e();\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e v \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e g\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003et\u003cspan style=\"color:#1f2328\"\u003e];\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    ckmax\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003edep\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ev\u003cspan style=\"color:#1f2328\"\u003e],\u003c/span\u003e dep\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003et\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    deg\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ev\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e--\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003edeg\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ev\u003cspan style=\"color:#1f2328\"\u003e]\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e==\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      q\u003cspan style=\"color:#1f2328\"\u003e.\u003c/span\u003epush\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ev\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  For1\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e n\u003cspan style=\"color:#1f2328\"\u003e)\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#cf222e\"\u003eif\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003e\u003cspan style=\"color:#0550ae\"\u003e!\u003c/span\u003est\u003cspan style=\"color:#1f2328\"\u003e[\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e])\u003c/span\u003e \u003cspan style=\"color:#1f2328\"\u003e{\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e cur_dep \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e0\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#cf222e\"\u003eint\u003c/span\u003e sz \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e dfs\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003ei\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e cur_dep\u003cspan style=\"color:#1f2328\"\u003e),\u003c/span\u003e tmp \u003cspan style=\"color:#0550ae\"\u003e=\u003c/span\u003e sz \u003cspan style=\"color:#0550ae\"\u003e+\u003c/span\u003e cur_dep\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      ckmax\u003cspan style=\"color:#1f2328\"\u003e(\u003c/span\u003eans\u003cspan style=\"color:#1f2328\"\u003e,\u003c/span\u003e tmp \u003cspan style=\"color:#0550ae\"\u003e-\u003c/span\u003e \u003cspan style=\"color:#0550ae\"\u003e1\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e);\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  \u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  cout \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e ans \u003cspan style=\"color:#0550ae\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#0a3069\"\u003e\u0026#39;\\n\u0026#39;\u003c/span\u003e\u003cspan style=\"color:#1f2328\"\u003e;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#1f2328\"\u003e}\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\n\u003c/pre\u003e\n\u003c/div\u003e\n"}]}