fbpx

Problema #564 – Succes – Rezolvari PBInfo

de Mihai-Alexandru

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 cele n numere citite vor fi nenule și mai mici decât 10.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;
}
Comentarii

S-ar putea sa iti placa