 BIGSALE - Editorial

Div1, Div2
Practice

Author: Praveen Dhinwa
Tester: Triveni Mahatha

Easy

None

PROBLEM:

You are given the initial price $p$ of a product. You need to first increase the price of this recipe by $x\%$ (from $p$) and then offer a discount of $x\%$. You need to compute the loss which occured to you as a result of this process, for $N$ items.

EXPLANATION:

Original price of the product = $p$.

Chef decides to increase the price of recipe by $x\%$ which means new price = $p.\left(1+\frac{x}{100}\right)$.

Now he is going to offer a discount of $x\%$ on this price. Hence,
Final price = $p.\left(1+\frac{x}{100}\right).\left(1-\frac{x}{100}\right)$
$\Rightarrow$ Final price = $p.\left(1-\left(\frac{x}{100}\right) ^2\right)$

Since, the final price is less than original price:
Loss = Original price - final price
$\Rightarrow$ Loss = $p - p.\left(1-\left(\frac{x}{100}\right) ^2\right)$
$\Rightarrow$ Loss = $p.\left(\frac{x}{100}\right) ^2$

Coming back to original problem, we can use the formula for loss computed above to find loss for each recipe individually. Hence,
Answer = $\sum \limits_{i=1}^N ext{quantity$_i$}. ext{price$_i$}.\left(\frac{ ext{discount$_i$}}{100}\right) ^2$

Time Complexity:

$O(N)$

AUTHOR'S AND TESTER'S SOLUTIONS

#include<stdio.h>

int main()

{

int t;

scanf("%d",&t);

while(t–)

{

long n;

double l=0.0;

scanf("%ld",&n);

while(n–)

{

int q;

scanf("%lf %d %lf",&p,&q,&d);

np=p+(pd0.01);