제출 #100610

#제출 시각아이디문제언어결과실행 시간메모리
100610dalgerokSimfonija (COCI19_simfonija)C++17
110 / 110
46 ms3732 KiB
#include<bits/stdc++.h> using namespace std; const int N = 1e5 + 5; int n, k, a[N], b[N], c[N]; long long pref[N]; inline long long get(int l, int r){ return pref[r] - pref[l - 1]; } int main(){ ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); cin >> n >> k; for(int i = 1; i <= n; i++){ cin >> a[i]; } for(int i = 1; i <= n; i++){ cin >> b[i]; c[i] = b[i] - a[i]; } if(n == k){ return cout << 0, 0; } sort(c + 1, c + n + 1); for(int i = 1; i <= n; i++){ pref[i] = pref[i - 1] + c[i]; } int m = n - k; long long ans = 9e18; for(int i = m; i <= n; i++){ int l = i - m + 1, r = i; int mid = (r + l) / 2; ans = min(ans, (1LL * c[mid] * (mid - l + 1) - get(l, mid)) + (get(mid, r) - 1LL * c[mid] * (r - mid + 1))); } cout << ans; }
#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...