Submission #1339797

#TimeUsernameProblemLanguageResultExecution timeMemory
1339797darius1414Simfonija (COCI19_simfonija)C++20
0 / 110
61 ms3536 KiB
#include <iostream>
#include <algorithm>
#define nmx 100005
#define inf 1e17
using namespace std;
long long n,k,a[nmx],b[nmx],dif[nmx],sp[nmx],rsp;
int main()
{
    rsp=inf;
    cin>>n>>k;
    for (int i=1; i<=n; i++)
        cin>>a[i];
    for (int i=1; i<=n; i++)
    {
        cin>>b[i];
        dif[i]=b[i]-a[i];
        sp[i]=sp[i-1]+dif[i];
    }
    sort (dif+1,dif+n+1);
    int st=1,dr=n-k;
    while (dr<=n)
    {
        int mid=(st+dr)/2;
        ///le adaug mid
        long long s=(sp[dr]-sp[mid-1])-dif[mid]*(dr-mid+1)+dif[mid]*(mid-st)-(sp[mid-1]-sp[st-1]);
        if ((st+dr)%2==0)
        {
            mid++;
            s=min(s,(sp[dr]-sp[mid-1])-dif[mid]*(dr-mid+1)+dif[mid]*(mid-st)-(sp[mid-1]-sp[st-1]));
        }
        rsp=min(rsp,s);
        dr++;
        st++;
    }
    cout<<rsp;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...