MAGCARI

Pipe TOI12

Jul 30th, 2022
1,095
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. /*
  2.     Task    : Pipe TOI12
  3.     Author  : Phumipat C. [MAGCARI]
  4.     Language: C++
  5.     Created : 30 July 2022 [11:03]
  6. */
  7. #include<bits/stdc++.h>
  8. using namespace std;
  9. pair<int ,int > a[15010];
  10. int dis[15010];
  11. int main(){
  12.     cin.tie(0)->sync_with_stdio(0);
  13.     cin.exceptions(cin.failbit);
  14.  
  15.     int n,k;
  16.     cin >> n >> k;
  17.     for(int i=1;i<=n;i++)
  18.         cin >> a[i].first >> a[i].second;
  19.     for(int i=1;i<=n;i++)
  20.         dis[i] = 1e9;
  21.     for(int i=1;i<n;i++){
  22.         int minn = 1e9,num;
  23.         for(int j=i+1;j<=n;j++){
  24.             dis[j] = min(dis[j],abs(a[i].first - a[j].first) + abs(a[i].second - a[j].second));
  25.             //store house no. to swap
  26.             if(dis[j]<minn){
  27.                 minn = dis[j];
  28.                 num = j;
  29.             }
  30.         }
  31.         //swap dis
  32.         swap(dis[i+1],dis[num]);
  33.         //swap location (a)
  34.         swap(a[i+1],a[num]);
  35.     }
  36.    
  37.     sort(dis+1,dis+n+1);
  38.     int ans = 0;
  39.     for(int i=1;i<=n-k;i++)
  40.         ans+=dis[i];
  41.     cout << ans << '\n';
  42.     return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment