In this

**HackerEarth Profits by cars problem solution,**You are a car seller. You have N cars and the profit for each of the cars is given by an array P. The profit of cars are P1, P2, P3, ..., PN. Since you got a huge profit in the last month so you decide to get (N - 1) more sets of such cars. You already have one car. Now, you have N^2 cars. Basically, there are N number of cars of each profit such as N cars for profit P1, N cars of profit P2, and so on up to N cars of profit PN.You can perform the following operations any number of times:

If the last car is sold for profit P, then you can sell a car for profit Pc > P.

**Note:**You can select a car of any profit in the first operation as there are no cars that are sold earlier.

Find out the maximum profit that you can make.

For example, N = 4 and prices are P1, P2, P3, P4. Since N is 4, therefore you can have four sets of cars and the prices are P1, P2, P3, P4, P1, P2, P3, P4, P1, P2, P3, P4, P1, P2, P3, P4.

## HackerEarth Profits by cars problem solution.

`#include<bits/stdc++.h>`

using namespace std;

#define FIO ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0)

#define mod 1000000007

#define test ll t; cin>>t; while(t--)

typedef long long int ll;

int main() {

FIO;

//test

{

ll n;

cin>>n;

ll x; set<ll>s;

for(int i=0;i<n;i++){

cin>>x;

s.insert(x);

}

ll ans=0;

for(auto it:s){

ans+=it;

}

cout<<ans<<endl;

}

return 0;

}

### Second solution

`#include <bits/stdc++.h>`

using namespace std;

typedef long long ll;

int main(){

ios::sync_with_stdio(0), cin.tie(0);

int t;

cin >> t;

while(t--){

int n;

cin >> n;

int a[n];

for(int i = 0; i < n; i++)

cin >> a[i];

sort(a, a + n);

n = unique(a, a + n) - a;

cout << accumulate(a, a + n, 0ll) << '\n';

}

}

## 0 Comments