首页 > 其他分享 >D. Very Different Array

D. Very Different Array

时间:2024-01-24 22:35:37浏览次数:29  
标签:Different 200005 Very ll cin int Array

原题链接

题解,太抽象了

最优情况一定可以是这样:

Code

#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll a[200005]={0};
ll b[200005]={0};
ll l[200005]={0},r[200005]={0};
int main()
{
    cin.tie(0);
    cout.tie(0);
    ll t;
    cin>>t;
    while(t--)
    {
        ll n,m;
        cin>>n>>m;
        for(int i=1;i<=n;i++)cin>>a[i];
        for(int i=1;i<=m;i++)cin>>b[i];
        sort(a+1,a+n+1);
        sort(b+1,b+m+1);
        ll left=n+1;
        for(int i=1;i<=n;i++)
            if(abs(a[i]-b[m-i+1])<abs(a[i]-b[n-i+1]))//这里千万不能小于等于!!!,因为此时的左占可能会把下一个的右占抢走
            {
                left=i;
                break;
            }
        ll ans=0;
        for(int i=1;i<=n;i++)
        {
            if(i<left)ans+=abs(a[i]-b[m-i+1]);
            else ans+=abs(a[i]-b[n-i+1]);
        }
        cout<<ans<<endl;
    }
    return 0;
}

标签:Different,200005,Very,ll,cin,int,Array
From: https://www.cnblogs.com/pure4knowledge/p/17985998

相关文章

  • contest/1921 D Very Different Array
    很容易看的出来是一个贪心。首先对A,B数组进行排序。我猜测的结论是每次从A数组和B数组中的两端选择,分别得到:A的最左端-B的最左端的值A的最右端-B的最左端的值A的最左端-B的最右端的值A的最右端-B的最左端的值比较这四个值取最大的然后用双指针维护一下就可以了。......
  • 详解img should be PIL Image. Got <class ‘numpy.ndarray‘>
    详解imgshouldbePILImage.Got当使用Python中的PIL(PythonImagingLibrary)库进行图像处理时,有时会遇到如下错误提示:imgshouldbePILImage.Got<class'numpy.ndarray'>。本文将解释该错误的原因和解决方法。问题描述在使用PIL库对图像进行处理时,如果将一个numpy.ndarray类......
  • CF1920D. Array Repetition
    思路用一个数组len记录每次操作后数组的长度,用一个数组lat记录每次操作后数组最后一个数字。对于每次询问,先二分查找出第几次操作能使数组的长度大于等于xac代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;consti64inf=1e18;typedefpair<in......
  • 【glibc】glib库数组GArray介绍
    glib库中的数组GArray类型很像C++标准容器库中的vector容器。要使用glib库中的数组中需要声明一个指向GArray类型的指针。GArray的定义如下:structGArray{gchar*data;guintlen;};然后就可以在这个数组前或者数组后添加数据,添加数据的时候数组也会像C++中的vector容器......
  • ValueError: Found array with dim 4. None expected <= 2.
     Traceback(mostrecentcalllast): File"train.py",line109,in<module>   out,eval_res=tasks.eval_forecasting(model,data,train_slice,valid_slice,test_slice,scaler,pred_lens,n_covariate_cols,args.max_train_length-1) Fil......
  • go gin 必须使用 dive 标记,它告诉 required 校验 深入到 slice、array 这样的子结
    packagemainimport( "fmt" "net/http" "github.com/gin-gonic/gin")typeuserstruct{ Namestring`json:"name"binding:"required"` Emailstring`json:"email"binding:"required,email"`......
  • Feign源码解析6:如何集成discoveryClient获取服务列表
    背景我们上一篇介绍了feign调用的整体流程,在@FeignClient没有写死url的情况下,就会生成一个支持客户端负载均衡的LoadBalancerClient。这个LoadBalancerClient可以根据服务名,去获取服务对应的实例列表,然后再用一些客户端负载均衡算法,从这堆实例列表中选择一个实例,再进行http调用即......
  • CF1612G Max Sum Array
    MaxSumArrayLuoguCF1612G题面描述给定一个长为\(m\)的序列\(c_1,c_2,\dots,c_m\)。序列\(A\)满足:对于所有\(1\leqi\leqm\),\(i\)在\(A\)中出现了\(c_i\)次。定义一个序列\(A\)的值如下:\[f(A)=\sum_{1\leqi<j\leqn,a_i=a_j}j-i\]求满足条件的\(f......
  • 记录一下 ArrayBlockingQueue 消息堆积的问题
    前言由于之前这个系统的日志记录是被领导要求写表的,在不影响系统性能的前提下,日志的入库操作肯定是要改成异步进行的,当时利用ArrayBlockingQueue+线程+AOP简单的去实现了一下,但是初版代码测试下来发现了一个很严重的问题,就是日志丢失的问题,本文由此而来。初步构思代码实现逻辑实......
  • D. Array Repetition
    D.ArrayRepetitionJaydenhasanarray$a$whichisinitiallyempty.Thereare$n$operationsoftwotypeshemustperforminthegivenorder.Jaydenappendsaninteger$x$($1\leqx\leqn$)totheendofarray$a$.Jaydenappends$x$copiesofarra......