Задать вопрос
Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (1)
  • Что я не учел в моем решении?

    @krikyn Автор вопроса
    Задача решена. Может кому-то пригодиться решение
    #include<iostream>
    #include<stdio.h>
    #include<queue>
    #include<set>
    #include<functional>
    #include<stack>
    #include<iterator>
    #include<algorithm>
    #include<math.h>
    #include<limits>
    
    using namespace std;
    
    int main()
    {
        int n,x,a[100009],b[100009],mina,mini,a2=-2,b2=-2;
        cin>>n>>x;
        int maxs = x;
    
        for (int i=0; i<n; i++)
            cin>>a[i];
        for (int i=0; i<n; i++)
            cin>>b[i];
    
        mina = a[0];
        mini = 0;
    
        for (int i=1; i<n; i++)
        {
            if (((x/mina)*b[i]+x%mina)>maxs)
            {
                maxs = (x/mina)*b[i]+x%mina;
                a2 = mini;
                b2 = i;
            }
    
            if (a[i]<mina)
            {
                mina = a[i];
                mini=i;
            }
        }
    
        cout<<maxs<<endl;
        cout<<a2+1<<" "<<b2+1;
        return 0;
    }


    Моя ошибка была в том, что я не учитывал сдачу от покупки акций
    Ответ написан
    Комментировать