답안 #169144

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
169144 2019-12-18T16:12:56 Z egekabas Simfonija (COCI19_simfonija) C++14
110 / 110
45 ms 4988 KB
#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
using namespace std;
typedef long long   ll;
typedef unsigned long long   ull;
typedef long double ld;
typedef pair<ll, ll>    pll;
typedef pair<ull, ull>    pull;
typedef pair<ll, ll>  pii;
typedef pair<ld, ld>  pld;
ll n, k;
ll a[100009];
ll b[100009];
ll val[100009];;
ll pre[100009];
ll ans = 1e18;
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
    //freopen("in.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
    
    cin >> n >> k;
    for(ll i = 1; i <= n; ++i)
        cin >> a[i];
    for(ll i = 1; i <= n; ++i)
        cin >> b[i];
    for(ll i = 1; i <= n; ++i)
        val[i] = (a[i]-b[i]);
    sort(val+1, val+1+n);
    for(ll i = 1; i <= n; ++i)
        pre[i] = val[i] + pre[i-1];    
    for(ll beg = 0; beg <= k; ++beg){
        ll fin = k-beg;
        ll idx = (beg+1+n-fin)/2;
        ll cur = ((pre[n-fin]-pre[idx-1]) - val[idx]*((n-fin)-(idx-1)));
        cur += val[idx]*(idx-1-beg)-(pre[idx-1]-pre[beg]);
        ans = min(ans, cur);
    }
    cout << ans << "\n";
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 380 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 37 ms 3420 KB Output is correct
2 Correct 34 ms 3448 KB Output is correct
3 Correct 33 ms 3448 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 36 ms 3448 KB Output is correct
2 Correct 35 ms 3448 KB Output is correct
3 Correct 32 ms 3532 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 36 ms 3448 KB Output is correct
2 Correct 35 ms 3452 KB Output is correct
3 Correct 32 ms 3448 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 26 ms 3576 KB Output is correct
2 Correct 33 ms 3484 KB Output is correct
3 Correct 33 ms 3448 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 37 ms 3448 KB Output is correct
2 Correct 38 ms 3448 KB Output is correct
3 Correct 39 ms 3400 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 32 ms 3448 KB Output is correct
2 Correct 37 ms 3576 KB Output is correct
3 Correct 38 ms 3400 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 3584 KB Output is correct
2 Correct 45 ms 4988 KB Output is correct
3 Correct 41 ms 4952 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 36 ms 3452 KB Output is correct
2 Correct 38 ms 4832 KB Output is correct
3 Correct 38 ms 4856 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 33 ms 3448 KB Output is correct
2 Correct 34 ms 3468 KB Output is correct
3 Correct 38 ms 3444 KB Output is correct