fork download
  1. #include <bits/stdc++.h>
  2. #include<iostream>
  3. #include<algorithm>
  4. using namespace std;
  5.  
  6.  
  7.  
  8.  
  9. int main() {
  10. int t;cin>>t;
  11. while(t--){
  12. int n,k;cin>>n>>k;
  13. int sum = 0;
  14. vector<int>v(n+1);
  15. for(int i =1;i<=n;i++){
  16. cin>>v[i];
  17. sum+=v[i];
  18. }
  19. vector<int>dif(n+1);
  20. int mx = 0 , mxINd=0;
  21. for(int i = 2;i<=n;i++){
  22. dif[i] = abs(v[i]-v[i-1]);
  23. if(dif[i]>mx){
  24. mx = max(mx , dif[i]);
  25. mxINd = i;
  26. }
  27. }
  28.  
  29. while(k--){
  30. sum-=mx;
  31. // cout<<" mx "<<mx<<endl;
  32. v[mxINd] = min(v[mxINd] , v[mxINd-1]);
  33. v[mxINd-1] = min(v[mxINd] , v[mxINd-1]);
  34. mx = 0;
  35. for(int i = 2;i<=n;i++){
  36. dif[i] = abs(v[i]-v[i-1]);
  37. if(dif[i]>mx){
  38. mx = max(mx , dif[i]);
  39. mxINd = i;
  40. }
  41. }
  42. // for(auto a : v)cout<<a<<" ";cout<<endl;
  43. }
  44. cout<<sum<<endl;
  45.  
  46. }
  47.  
  48.  
  49.  
  50.  
  51.  
  52. }
Success #stdin #stdout 0s 5304KB
stdin
Standard input is empty
stdout
Standard output is empty