Module: コンパレータによるソート


Problem

9/11

パティ

Problem

プログラムを修正して、次の問題を解決してください。

ペティアは、さまざまな詰め物が入ったパイがとても好きで、どれがどれであるかはそれほど重要ではありません。一度、お腹がすいた状態で、ペティアはビュッフェに入り、ジャガイモ、キャベツ、米が入ったパイが売られているのを見ました。 Petya はできるだけ多くのパイを購入したいと考えていますが、Petya の金額と同じように販売されるパイの数が限られていることが問題です。
 
Petya が購入できるパイの最大数を決めるのを手伝ってください。
 
入力
最初の行には、数値 P1P2、および P が含まれます3< /sub> –それぞれジャガイモ、キャベツ、米を使ったパイの費用。 2 行目では、N1N2、および N3 の値を定義します。 –販売中の一致するパイの数。 3 行目には数値 R – が含まれています。 Petyaが持っている金額。入力のすべての数値は、1000 を超えない正の整数です。
 
出力
1 つの整数を出力 - 問題の答え。

 
<頭> <本体>
# 入力 出力
1
5 3 8
2 6 4
23
7
Write the program below
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;

struct patty {
    int cost, count;

    patty() {}
};

bool cmp(patty first, patty second)
 {   
}

vector<patty>pattyArray(3, patty());
int money;
int number;
int answer;

int main() {
    for(int i = 0; i < 3; i++)
        cin >> pattyArray.at(i).cost;
    for (int i = 0; i < 3; i++)
        cin >> pattyArray.at(i).count;

    sort(pattyArray.begin(), pattyArray.end(), cmp);

    cin >> money;

    for (int i = 0; i < 3; i++) {
        number = min(money / pattyArray.at(i).cost, pattyArray.at(i).count);
        answer += number;
        money -= number * pattyArray.at(i).cost;
    }

    cout << answer;
}   

     

Program check result

To check the solution of the problem, you need to register or log in!