fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define optimize() ios_base::sync_with_stdio(0);
  4. //#define ll long long
  5.  
  6. #define endl '\n'
  7. #define F first
  8. #define S second
  9. #define PB push_back
  10. #define MP make_pair
  11. #define LOOP(i,n) for(int i=0;i<n;i++)
  12. #define LOP(i,n) for(int i=1;i<=n;i++)
  13. #define REP(i,a,b) for (int i = a; i <= b; i++)
  14. typedef long long ll;
  15. typedef vector<ll>vll;
  16. /*bool comperator(const pair<int,int>&a,const pair<int,int>&b)
  17. {
  18.   if(a.first>b.first)return 1;
  19.   else if(a.first==b.first)return(a.second<b.second);
  20.   else return 0;
  21. }*/
  22. //const int N=2e5+7;
  23. //long long narr[N],arr[N];
  24. ll isdiv(ll a,ll m)
  25. {
  26. if(a%m==0)return a/m;
  27. else return (a/m)+1;
  28. }
  29. void solve(ll n,ll m)
  30. {
  31. vll v;
  32. ll inp;
  33. LOOP(i,n)
  34. {
  35. cin>>inp;
  36. v.PB(inp);
  37. }
  38. v.resize(n);
  39. for(int i=0;;i++){
  40. ll tmp;
  41. if(v[i]%m==1)break;
  42. if(v[i]%m==0){
  43. tmp=v[i]/m;
  44. LOP(j,m)
  45. {
  46. v.PB(tmp);
  47. }
  48. }
  49. }
  50. ll sum=0;
  51. sum=(accumulate(v.begin(),v.end(),sum));
  52. cout<<sum<<endl;
  53.  
  54. }
  55. int main ()
  56. {
  57. optimize();
  58. int t;cin>>t;while(t--)
  59. {
  60. ll n,m;
  61. cin>>n>>m;
  62. solve(n,m);
  63. }
  64. return 0;
  65. }
  66.  
Success #stdin #stdout 0s 4840KB
stdin
2
1 2
12
4 2
4 6 8 2
stdout
36
44