Maximum money|Coding Problem
Given a street of N houses (a row of houses), each house having K amount of money kept inside; now there is a thief who is going to steal this money but he has a constraint/rule that he cannot steal/rob two adjacent houses. Find the maximum money he can rob.

Example 1:
Input:
N = 5 , K = 10
Output:
30
Explanation:
The Robber can rob from the first, third
and fifth houses which will result in 30.
Example 2:
Input:
N = 2 , K = 12
Output:
12
Explanation:
The Robber can only rob from the first
or second which will result in 12.

Your Task:
You don’t need to read input or print anything. Your task is to complete the function maximizeMoney() which takes 2 Integers N and K as input and returns the answer.
Expected Time Complexity: O(1)
Expected Auxiliary Space: O(1)
Constraints:
1 <= N,K <= 103
Code & Algorithm
/* author : @akash */#include<bits/stdc++.h>
using namespace std;#define ll long long int
#define pb push_back
#define mod 1000000007
#define ld long doubleclass Solution
{
public:
void solve()
{
int n;
int k;
cin>>n>>k;
int ans;
if(n%2==0)
{
ans=n/2;
}
else
{
ans=n/2+1;
}
cout<<ans*k;
}
};int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
while(t--)
{
Solution ob;
ob.solve();
cout<<"\n";
}
return 0;
}// time complexity : T(n)=O(1)
// space compexity : S(n)=O(1)
Thank You
Akash Kumar
Software Engineer.