fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. vector<long long int> function(vector<long long int> A, long long int N, long long int X){
  6. vector<long long int> res;
  7. long long int sum =0;
  8.  
  9. for(long long int j=0;j<N;j++){
  10. sum += A[j];
  11. }
  12. long long int j=0;
  13. while(sum>0){
  14. if(j>=N){
  15. j=0;
  16. }
  17. if(A[j]==0){
  18. j++;
  19. }
  20. else if(A[j]>0 && A[j]<X){
  21. sum=sum-A[j];
  22. A[j]=0;
  23. res.push_back(j+1);
  24. j++;
  25. }
  26. else if(A[j]>=X){
  27. sum=sum-X;
  28. A[j]=A[j]-X;
  29. j++;
  30. }
  31. }
  32. return res;
  33. }
  34.  
  35. int main() {
  36. long int T;
  37. cin >> T;
  38. for(long int i=0;i<T ;i++){
  39. long long int N, X;
  40. cin>>N>>X;
  41. vector<long long int> A;
  42. for(long long int j=0;j<N;j++){
  43. long long int temp;
  44. cin>>temp;
  45. A.push_back(temp);
  46. }
  47. vector<long long int> res;
  48. cout << "Case #" << i+1 << ": ";
  49. res = function(A, N, X);
  50. for(long long int j=0;j<N;j++){
  51. cout << res[j] << " ";
  52. }
  53. cout << endl;
  54. }
  55. return 0;
  56. }
Success #stdin #stdout 0s 4152KB
stdin
2
3 3
2 7 4
5 6
9 10 4 7 2
stdout
Case #1: 1 3 2 
Case #2: 3 5 1 2 4