# Covid Spread COVSPRD Solution Codechef

• At the end of day 0, a single person is infected with the disease.
• During the next 10 days, the number of infected people doubles each day, until the disease has spread to all people in ChefLand.
• From day 11 onwards, the number of infected people triples each day, until the disease has spread to all people in ChefLand.

You are given the population of ChefLand N and a day D. How many people in ChefLand are infected at the end of day D?

Input Format

• The first line of input contains a single integer T, denoting the number of test cases. The description of T test cases follows.
• Each test case consists of a single line containing two space-separated integers N and D the population of ChefLand and the day for which you need to find the number of infected people, respectively.

Output Format

• For each test case, print one line containing a single integer the number of infected people in ChefLand at the end of day D.

Constraints

• 1≤T≤300
• 1≤N≤108
• 0≤D≤108

Subtask 2 (70 points): Original constraints

Sample Input 1

``````4
100 3
2000 10
6000 11
10 11``````

Sample Output 1

``````8
1024
3072
10``````

Explanation

Test Case 1:

• At the end of day 1, the number of infected people is 2×1=2.
• At the end of day 2, the number of infected people is 2×2=4.
• At the end of day 3, the number of infected people is 2×4=8.

Test Case 2: Following the rules in the statement, it can be seen that at the end of day 10, the total number of infected people is 1024.

Test Case 3: Note that starting at day 1, the number of infected people triples each day, 3×1024=3072.

Test Case 4: At the end of day 3, the number of infected people is 8. Since there are only 10 people in ChefLand (which is less than 2×8=16), at the end of day 4 all people in ChefLand are infected and thus the number of infected people is 10 for all days from day 4 onwards, including day 11.

### SOLUTION

Program: Covid Spread COVSPRD Solution in C++

``````#include<bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while(t--){

int n,d;
cin>>n>>d;

long long ans=1; // for day 0

if(d==0) {}
else if( d <=10 ) {
ans=pow(2,d);
}
else if(d>10 and  d < 30){
ans = pow(2,10)*pow(3,d-10);
}
else ans=n;

if(ans>=n)
cout<<n<<endl;
else
cout<<ans<<endl;
}

return 0;
}``````

Program: Covid Spread COVSPRD Solution in Java

``````import java.util.*;
import java.lang.*;
import java.io.*;
class Codechef
{
public static void main (String[] args) throws java.lang.Exception
{
Scanner scn=new Scanner(System.in);
int t=scn.nextInt();
while(t-->0){
int n=scn.nextInt();
int d=scn.nextInt();
long ans=1;

if(d>10){
ans=(int)Math.pow(2,10);
d=d-10;
ans*=(int)Math.pow(3,d);
}else{
ans=(int)Math.pow(2,d);
}
if(ans>n)
ans=n;
System.out.println(ans);
}
}
}``````

Program: Covid Spread COVSPRD Solution in Python

``````t= int(input())
ans=0
while t!=0:
nd = [int(x) for x in input().split()]
if nd>56:
ans=nd
elif nd>10:
ans=2**10*3**(nd-10)
else:
ans=2**nd
if ans>nd:
print(nd)
else:
print(ans)
t-=1``````