fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int T;
  6. cin>>T;
  7. while(T--) {
  8. int n, k;
  9. cin>>n>>k;
  10. vector<int> v(n);
  11. for(int i=0; i<n; i++) cin>>v[i];
  12. sort(v.begin(), v.end());
  13. for(int i=0; i<v.size(); i++) cout<<v[i]<<" ";
  14. cout<<endl;
  15. for(int i=0; i<n-1; i++) {
  16. int temp = v[i] - k;
  17. if(temp <= 0)
  18. continue;
  19. v[i] = k;
  20. v[i+1] -= temp;
  21. }
  22. for(int i=0; i<v.size(); i++) cout<<v[i]<<" ";
  23. cout<<endl;
  24. cout<<accumulate(v.begin(), v.end(), 0)<<endl;
  25. }
  26. }
Success #stdin #stdout 0s 4552KB
stdin
3
4 1
100 5 4 3
2 1
2 2
3 1
2 3 2
stdout
3 4 5 100 
1 1 1 97 
100
2 2 
1 1 
2
2 2 3 
1 1 3 
5