fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main(){
  5. vector<int> arr = {2, 5};
  6. arr.push_back(0);
  7. sort(arr.begin(), arr.end(), [](int& x, int& y){
  8. return x > y;
  9. });
  10. int k = 4;
  11.  
  12. int ans = 0;
  13. for(int i=0; i<arr.size() && k>0; i++){
  14. if( (arr[i]-arr[i+1])*(i+1) <= k){
  15. ans += (arr[i]*(arr[i]+1)/2 - arr[i+1]*(arr[i+1]+1)/2)*(i+1);
  16. k -= (arr[i]-arr[i+1])*(i+1);
  17. }else if((arr[i]-arr[i+1])*(i+1) > k){
  18. int d = k/(i+1);
  19. int rem = k%(i+1);
  20. int a1 = arr[i], a2 = (arr[i]-d);
  21. ans += ((a1+1)*a1/2 - a2*(a2+1)/2)*(i+1);
  22. ans += rem*a2;
  23. k = 0;
  24. }
  25. }
  26. cout<<ans<<endl;
  27.  
  28. return 0;
  29. }
Success #stdin #stdout 0s 4380KB
stdin
Standard input is empty
stdout
14