# Calculate the loss incurred in selling the given items at discounted price

• Last Updated : 08 Jun, 2022

A seller wants to sell his items at a discount of X%. He increases the price of each item by X% of the original price. The task is to calculate the total loss incurred after selling all the items.
Examples:

Input: price[] = {300}, quantity[] = {7}, X[] = {20}
Output: 84.0
Original price = 300
Selling price = 360
Discounted price = 288
Loss incurred = 300 – 288 = 12 (for a single item)
For 7 items, 12 * 7 = 84
Input: price[] = {20, 48, 200, 100}, quantity[] = {20, 48, 1, 1}, X[] = {0, 48, 200, 5}
Output: 1330.17

Approach: For every item, calculate its selling price i.e. original price + X% of the original price then calculate the discounted price as selling price – X% of the selling price. Now, loss can be calculated as (original price – discounted price) * quantity. Add the loss incurred for all the items which is the required answer.
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;` `// Function to return the x% of n``float` `percent(``int` `n, ``int` `x)``{``    ``float` `p = n * x;``    ``p /= 100;``    ``return` `p;``}` `// Function to return the total loss``float` `getLoss(``int` `price[], ``int` `quantity[], ``int` `X[], ``int` `n)``{``    ``// To store the total loss``    ``float` `loss = 0;` `    ``for` `(``int` `i = 0; i < n; i++) {` `        ``// Original price of the item``        ``float` `originalPrice = price[i];` `        ``// The price at which the item will be sold``        ``float` `sellingPrice = originalPrice``                             ``+ percent(originalPrice, X[i]);` `        ``// The discounted price of the item``        ``float` `afterDiscount = sellingPrice``                              ``- percent(sellingPrice, X[i]);` `        ``// Loss incurred``        ``loss += ((originalPrice - afterDiscount) * quantity[i]);``    ``}` `    ``return` `loss;``}` `// Driver code``int` `main()``{``    ``int` `price[] = { 20, 48, 200, 100 };``    ``int` `quantity[] = { 20, 48, 1, 1 };``    ``int` `X[] = { 0, 48, 200, 5 };` `    ``// Total items``    ``int` `n = ``sizeof``(X) / ``sizeof``(X);``    ``cout << getLoss(price, quantity, X, n);` `    ``return` `0;``}`

## Java

 `// Java implementation of the approach``class` `GFG {``    ``// Function to return the x% of n``    ``static` `float` `percent(``int` `n, ``int` `x)``    ``{``        ``float` `p = n * x;``        ``p /= ``100``;``        ``return` `p;``    ``}` `    ``// Function to return the total loss``    ``static` `float` `getLoss(``int` `price[], ``int` `quantity[], ``int` `X[], ``int` `n)``    ``{``        ``// To store the total loss``        ``float` `loss = ``0``;` `        ``for` `(``int` `i = ``0``; i < n; i++) {` `            ``// Original price of the item``            ``float` `originalPrice = price[i];` `            ``// The price at which the item will be sold``            ``float` `sellingPrice = originalPrice``                                 ``+ percent((``int``)originalPrice, X[i]);` `            ``// The discounted price of the item``            ``float` `afterDiscount = sellingPrice``                                  ``- percent((``int``)sellingPrice, X[i]);` `            ``// Loss incurred``            ``loss += ((originalPrice - afterDiscount) * quantity[i]);``        ``}` `        ``return` `loss;``    ``}` `    ``// Driver code``    ``public` `static` `void` `main(String args[])``    ``{``        ``int` `price[] = { ``20``, ``48``, ``200``, ``100` `};``        ``int` `quantity[] = { ``20``, ``48``, ``1``, ``1` `};``        ``int` `X[] = { ``0``, ``48``, ``200``, ``5` `};` `        ``// Total items``        ``int` `n = X.length;``        ``System.out.print(getLoss(price, quantity, X, n));``    ``}``}`

## Python3

 `# Python3 implementation of the approach` `# Function to return the x% of n``def` `percent(n, x):` `    ``p ``=` `(``int``)(n) ``*` `x;``    ``p ``/``=` `100``;``    ``return` `p;` `# Function to return the total loss``def` `getLoss(price, quantity, X, n):` `    ``# To store the total loss``    ``loss ``=` `0``;` `    ``for` `i ``in` `range``(n):` `        ``# Original price of the item``        ``originalPrice ``=` `price[i];` `        ``# The price at which the item will be sold``        ``sellingPrice ``=` `originalPrice ``+` `percent(originalPrice, X[i]);` `        ``# The discounted price of the item``        ``afterDiscount ``=` `sellingPrice ``-` `percent(sellingPrice, X[i]);` `        ``# Loss incurred``        ``loss ``+``=` `((originalPrice ``-` `afterDiscount) ``*` `quantity[i]);` `    ``return` `round``(loss,``2``);` `# Driver code``price ``=` `[ ``20``, ``48``, ``200``, ``100` `];``quantity ``=` `[ ``20``, ``48``, ``1``, ``1` `];``X ``=` `[ ``0``, ``48``, ``200``, ``5` `];` `# Total items``n ``=` `len``(X);``print``(getLoss(price, quantity, X, n));` `    ` `# This code is contributed by mits`

## C#

 `// C# implementation of the approach``using` `System;` `class` `GFG``{``    ` `// Function to return the x% of n``static` `float` `percent(``int` `n, ``int` `x)``{``    ``float` `p = n * x;``    ``p /= 100;``    ``return` `p;``}` `// Function to return the total loss``static` `float` `getLoss(``int` `[]price,``                     ``int` `[]quantity,``                     ``int` `[]X, ``int` `n)``{``    ``// To store the total loss``    ``float` `loss = 0;` `    ``for` `(``int` `i = 0; i < n; i++)``    ``{` `        ``// Original price of the item``        ``float` `originalPrice = price[i];` `        ``// The price at which the item will be sold``        ``float` `sellingPrice = originalPrice +``                ``percent((``int``)originalPrice, X[i]);` `        ``// The discounted price of the item``        ``float` `afterDiscount = sellingPrice -``                 ``percent((``int``)sellingPrice, X[i]);` `        ``// Loss incurred``        ``loss += ((originalPrice -``                  ``afterDiscount) * quantity[i]);``    ``}` `    ``return` `loss;``}` `// Driver code``public` `static` `void` `Main()``{``    ``int` `[]price = { 20, 48, 200, 100 };``    ``int` `[]quantity = { 20, 48, 1, 1 };``    ``int` `[]X = { 0, 48, 200, 5 };` `    ``// Total items``    ``int` `n = X.Length;``    ``Console.Write(getLoss(price, quantity, X, n));``}``}` `// This code is contributed by Ryuga`

## PHP

 ``

## Javascript

 ``

Output:

`1330.17`

Time Complexity: O(n)  where n is the size of the array
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up