Marathon: MARARUN

                     

link: https://www.codechef.com/CU1PP0010/problems/MARARUN

Chefland is holding a virtual marathon for the categories 1010 km, 2121 km and 4242 km having prizes A,B,CA,B,C (A<B<CA<B<C) respectively to promote physical fitness. In order to claim the prize in a particular category the person must cover the total distance for that category within DD days. Also a single person cannot apply in multiple categories.

Given the maximum distance dd km that Chef can cover in a single day, find the maximum prize that Chef can win at the end of DD days. If Chef can’t win any prize, print 00.

Input

  • The first line contains an integer TT, the number of test cases. Then the test cases follow.
  • Each test case contains a single line of input, five integers D,d,A,B,CD,d,A,B,C.

Output

For each test case, output in a single line the answer to the problem.

Constraints

  • 1≤T≤501≤T≤50
  • 1≤D≤101≤D≤10
  • 1≤d≤51≤d≤5
  • 1≤A<B<C≤1051≤A<B<C≤105

Sample Input 1 

3
1 1 1 2 3
10 1 1 2 3
10 3 1 2 3

Sample Output 1 

0
1
2

Explanation

Test Case 11: The maximum distance covered by Chef is 1⋅1=11⋅1=1 km which is less than any of the available distance categories. Hence Chef won’t be able to claim a prize in any of the categories.

Test Case 22: The maximum distance covered by Chef is 10⋅1=1010⋅1=10 km which is equal to distance of the first category. Hence Chef can claim the maximum prize of 11 units.

Test Case 33: The maximum distance covered by Chef is 10⋅3=3010⋅3=30 km which is more than the distance of the second category but less than that of the third category. Hence Chef can claim the maximum prize of 22 units

Solution:

// By PROGIES.IN
#include<bits/stdc++.h>
# define pb push_back 
#define pii pair<int, int>
#define mp make_pair
# define ll long long int

using namespace std;
  
int main()
{   
    int t; cin >> t;
    int days, d, a, b, c;
    while(t--){
        cin >> days >> d >> a >> b >> c;        
        int ans = 0;
        if(days * d >= 42)ans = c;
        else if(days * d >= 21)ans = b;
        else if(days * d >= 10)ans = a;
        cout << ans << endl;            
    }
} 

* The material and content uploaded on this website are for general information and reference purposes only. Please do it by your own first.