dxtdxxry

Untitled

Jul 20th, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.58 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long calc(int x,int *arr,int n,int k)
  4. {
  5.     long ans=0;
  6.      for(int i=0;i<n;i++)
  7.      {
  8.          ans+=abs(pow((x-*(arr+i)),k));
  9.      } 
  10.      return ans;
  11. }
  12. int main()
  13. {
  14.     int n,k;
  15.     cin>>n>>k;
  16.     int l=INT_MAX;
  17.     int r=INT_MIN;
  18.     int arr[n];
  19.     for(int i=0;i<n;i++)
  20.     {
  21.          cin>>arr[i];
  22.          r=max(r,arr[i]);
  23.          l=min(l,arr[i]);
  24.     }
  25.     int ans=0;
  26.     while(l<r)
  27.     {
  28.         int mid=l+(r-l)/2;
  29.         long peak=calc(mid,arr,n,k);
  30.         long dr=calc(mid+1,arr,n,k);
  31.         if(peak<dr)
  32.         {
  33.             ans=mid;
  34.             r=mid;
  35.         }
  36.         else
  37.         {
  38.             l=mid+1;
  39.         }
  40.     }
  41.     cout<<ans<<endl;
  42. }
Add Comment
Please, Sign In to add comment