Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Task : Pipe TOI12
- Author : Phumipat C. [MAGCARI]
- Language: C++
- Created : 30 July 2022 [11:03]
- */
- #include<bits/stdc++.h>
- using namespace std;
- pair<int ,int > a[15010];
- int dis[15010];
- int main(){
- cin.tie(0)->sync_with_stdio(0);
- cin.exceptions(cin.failbit);
- int n,k;
- cin >> n >> k;
- for(int i=1;i<=n;i++)
- cin >> a[i].first >> a[i].second;
- for(int i=1;i<=n;i++)
- dis[i] = 1e9;
- for(int i=1;i<n;i++){
- int minn = 1e9,num;
- for(int j=i+1;j<=n;j++){
- dis[j] = min(dis[j],abs(a[i].first - a[j].first) + abs(a[i].second - a[j].second));
- //store house no. to swap
- if(dis[j]<minn){
- minn = dis[j];
- num = j;
- }
- }
- //swap dis
- swap(dis[i+1],dis[num]);
- //swap location (a)
- swap(a[i+1],a[num]);
- }
- sort(dis+1,dis+n+1);
- int ans = 0;
- for(int i=1;i<=n-k;i++)
- ans+=dis[i];
- cout << ans << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment