首页 > 试题广场 >

世界上最可爱的珂朵莉

[编程题]世界上最可爱的珂朵莉
  • 热度指数:44 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解

我永远喜欢珂朵莉~!

有两个长为n的序列a[i]b[i]

你可以把任意不多于xa序列中的数变成y

你可以把所有序列b中的数减去一个非负数t

你可以把a序列和b序列分别任意打乱

要求对于1 <= i <= n满足a[i] >= b[i]

t的最小值



输入描述:
第一行三个数n,x,y
之后一行n个数表示a序列
之后一行n个数表示b序列


输出描述:
一行一个非负数表示答案
示例1

输入

10 0 233333
227849 218610 5732 128584 21857 183426 199367 211615 91725 110029
8064826 14174520 10263202 9863592 592727 7376631 5733314 1062933 12458325 15046167

输出

14818318

备注:
对于100%的数据,0 <= n <= 200000 , 0 <= x,y <= 2000000000
0<=a[i],b[i]<=2000000000
头像 丹323327
发表于 2020-02-04 16:20:31
解题思路 t=b[i]-a[i],要求t的最小值,应尽可能缩小数组a与数组b之间的差距,所以将排序后的数组a前x个元素中小于y的值替换为y1.获取输入n,x,y,a[],b[]2.对数组a、b进行排序3.将数组a前x个元素中小于y的值替换为y4.对数组a重新排序5.t为b[i]-a[i]的最大值 展开全文
头像 QAQ天战QAQ
发表于 2020-01-12 22:03:34
tonl(unsigned long int hostlong)2 kill(pid_t pid, int sig)7 78878 recvfrom(int s, void buf, int len, unsigned int flags, struct sockaddr *fro 展开全文
头像 张广文
发表于 2020-03-23 20:41:37
include<bits/stdc++.h> using namespace std;typedef unsigned long long ull;const int N=2e5+7;int a[N],b[N];int main(){ int n,x,y; cin>&g 展开全文

问题信息

上传者:牛客301599号
难度:
0条回答 1411浏览

热门推荐

通过挑战的用户

世界上最可爱的珂朵莉