CF1765J.Hero to Zero
省选/NOI-
通过率:0%
时间限制:4.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
There are no heroes in this problem. I guess we should have named it "To Zero".
You are given two arrays a and b, each of these arrays contains n non-negative integers.
Let c be a matrix of size n×n such that ci,j=∣ai−bj∣ for every i∈[1,n] and every j∈[1,n].
Your goal is to transform the matrix c so that it becomes the zero matrix, i. e. a matrix where every element is exactly 0. In order to do so, you may perform the following operations any number of times, in any order:
- choose an integer i, then decrease ci,j by 1 for every j∈[1,n] (i. e. decrease all elements in the i-th row by 1). In order to perform this operation, you pay 1 coin;
- choose an integer j, then decrease ci,j by 1 for every i∈[1,n] (i. e. decrease all elements in the j-th column by 1). In order to perform this operation, you pay 1 coin;
- choose two integers i and j, then decrease ci,j by 1. In order to perform this operation, you pay 1 coin;
- choose an integer i, then increase ci,j by 1 for every j∈[1,n] (i. e. increase all elements in the i-th row by 1). When you perform this operation, you receive 1 coin;
- choose an integer j, then increase ci,j by 1 for every i∈[1,n] (i. e. increase all elements in the j-th column by 1). When you perform this operation, you receive 1 coin.
You have to calculate the minimum number of coins required to transform the matrix c into the zero matrix. Note that all elements of c should be equal to 0 simultaneously after the operations.
本题中没有英雄。我们本应将其命名为“归零”。
给定两个数组 a 和 b,每个数组均包含 n 个非负整数。
定义一个 n×n 的矩阵 c,其中对任意 i∈[1,n] 和任意 j∈[1,n],均有 ci,j=∣ai−bj∣。
你的目标是将矩阵 c 变为零矩阵(即所有元素均为 0 的矩阵)。为此,你可以以任意顺序、任意次数执行以下操作:
- 选择一个整数 i,将第 i 行所有元素 ci,j(j∈[1,n])减 1(即整行减 1)。执行该操作需花费 1 枚硬币;
- 选择一个整数 j,将第 j 列所有元素 ci,j(i∈[1,n])减 1(即整列减 1)。执行该操作需花费 1 枚硬币;
- 选择两个整数 i 和 j,将元素 ci,j 减 1。执行该操作需花费 1 枚硬币;
- 选择一个整数 i,将第 i 行所有元素 ci,j(j∈[1,n])加 1(即整行加 1)。执行该操作可获得 1 枚硬币;
- 选择一个整数 j,将第 j 列所有元素 ci,j(i∈[1,n])加 1(即整列加 1)。执行该操作可获得 1 枚硬币。
你需要计算将矩阵 c 变为零矩阵所需的最少硬币数量。注意:所有操作完成后,矩阵 c 的每个元素必须同时等于 0。
输入格式
The first line contains one integer n (2≤n≤2⋅105).
The second line contains n integers a1,a2,…,an (0≤ai≤108).
The third line contains n integers b1,b2,…,bn (0≤bj≤108).
第一行包含一个整数 n(2≤n≤2⋅105)。
第二行包含 n 个整数 a1,a2,…,an(0≤ai≤108)。
第三行包含 n 个整数 b1,b2,…,bn(0≤bj≤108)。
输出格式
Print one integer — the minimum number of coins required to transform the matrix c into the zero matrix.
输出一个整数——将矩阵 c 变为零矩阵所需的最少硬币数量。
输入输出样例
输入#1
3 1 2 3 2 2 2
输出#1
2
输入#2
3 3 1 3 1 1 2
输出#2
5
输入#3
2 1 0 2 1
输出#3
2
输入#4
2 1 4 2 3
输出#4
4
输入#5
4 1 3 3 7 6 9 4 2
输出#5
29
说明/提示
In the first example, the matrix looks as follows:
1
1
1
0
0
0
1
1
1
You can turn it into a zero matrix using 2 coins as follows:
- subtract 1 from the first row, paying 1 coin;
- subtract 1 from the third row, paying 1 coin.
In the second example, the matrix looks as follows:
2
2
1
0
0
1
2
2
1
You can turn it into a zero matrix using 5 coins as follows:
- subtract 1 from the first row, paying 1 coin;
- subtract 1 from the third row, paying 1 coin;
- subtract 1 from the third row, paying 1 coin;
- subtract 1 from a2,3, paying 1 coin;
- add 1 to the third column, receiving 1 coin;
- subtract 1 from the first row, paying 1 coin;
- subtract 1 from a2,3, paying 1 coin.
在第一个例子中,矩阵如下所示:
1
1
1
0
0
0
1
1
1
你可以花费 2 枚硬币将其变为零矩阵,具体操作如下:
- 从第一行减去 1,花费 1 枚硬币;
- 从第三行减去 1,花费 1 枚硬币。
在第二个例子中,矩阵如下所示:
2
2
1
0
0
1
2
2
1
你可以花费 5 枚硬币将其变为零矩阵,具体操作如下:
- 从第一行减去 1,花费 1 枚硬币;
- 从第三行减去 1,花费 1 枚硬币;
- 从第三行减去 1,花费 1 枚硬币;
- 从元素 a2,3 减去 1,花费 1 枚硬币;
- 向第三列加 1,获得 1 枚硬币;
- 从第一行减去 1,花费 1 枚硬币;
- 从元素 a2,3 减去 1,花费 1 枚硬币。
输入解题思路,AI测评打分。不知道怎么写?