Cerința
Gigel a aflat care este este secretul succesului în afacerile cu pinguini: să cumperi ieftin și să vinzi scump. El a reușit să afle care vor fi prețurile de vânzare a pinguinilor pe o perioadă de n zile. În plus, Gigel dispune de o sumă de bani S, și este hotărât să procedeze astfel: într-o zi va cumpăra numărul maxim posibil de pinguini la prețul din ziua respectivă, iar în altă zi îi va vinde pe toți pe prețul din acea zi. Determinați suma maximă pe care o poate deține Gigel după efectuarea acestor tranzacții.
Date de intrare
Programul citește de la tastatură numerele n S, iar apoi n numere naturale, reprezentând prețului unui pinguin în fiecare dintre cele n zile.
Date de ieșire
Programul va afișa pe ecran numărul M, reprezentând suma maximă pe care o poate deține Gigel în urma tranzacțiilor.
Restricții și precizări
1 ≤ n ≤ 1000- atât
S, cât și celennumere citite vor fi nenule și mai mici decât10.000 - toate prețurile sunt exprimate în aceleași unități monetare
Exemplu
Intrare
5 11 3 2 3 5 1
Ieșire
26
Explicație
Gigel va cumpăra 5 pinguini în ziua 2 și îi va vinde în ziua 4. După tranzacții, va avea 1 + 5 * 5 = 26 unități monetare.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n , s , a[1001] , max = 0;
cin >> n >> s;
for(int i = 1 ; i <= n ; ++i) cin >> a[i];
for(int i = 1 ; i < n ; ++i)
for(int j = i + 1 ; j <= n ; ++j)
{
int x = s/a[i];
int val = s + (x*a[j])-(x*a[i]);
if(val>max) max = val;
}
cout << max;
return 0;
}