Submission #1328997

#TimeUsernameProblemLanguageResultExecution timeMemory
1328997Muhammad_AneeqSimfonija (COCI19_simfonija)C++20
110 / 110
21 ms2752 KiB
#include <bits/stdc++.h>
using namespace std;
inline void solve()
{
    int n,k;
    cin>>n>>k;
    int a[n],b[n];
    for (int i=0;i<n;i++)
        cin>>a[i];
    for (int i=0;i<n;i++)
        cin>>b[i];
    vector<int>z;
    long long ans=0;
    for (int i=0;i<n;i++)
    {
        z.push_back(b[i]-a[i]);
        ans+=abs(b[i]-a[i]);
    }
    sort(begin(z),end(z));
    vector<long long>pre={0};
    for (auto i:z)
        pre.push_back(pre.back()+i);
    for (int i=0;i<=k;i++)
    {
        int l=i,r=n-(k-i)-1;
        int md=(l+r)/2;
        int vl=z[md];
        long long val=pre[r+1]-pre[md]-(vl*(r+1-md));
        long long val1=pre[md+1]-pre[l]-(vl*(md+1-l));
        val-=val1;
        ans=min(ans,val);
    }
    cout<<ans<<endl;
}
int main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int t=1;
    for (int i=1;i<=t;i++)
    {
        solve();
    }
}
#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...