#include
#include
#include
struct Item {
char category;
int weight;
};
int main() {
int n;
std::cin >> n;
std::vector weights;
for (int i = 0; i < n; ++i) {
char category;
int weight;
std::cin >> category >> weight;
if (category == 'C') {
weights.push_back(weight);
}
}
std::sort(weights.begin(), weights.end());
int maxWeight = 30000;
int currentWeight = 0;
int count = 0;
for (int weight : weights) {
if (currentWeight + weight <= maxWeight) {
currentWeight += weight;
++count;
} else {
break;
}
}
std::cout << count << std::endl;
return 0;
}
Результат выполнения
в скрин не все данные попали попали а так они корректно все было введено
Входные данные:
Вводится натуральное число n – количество товаров на складе. Далее вводятся n строк с категорией и весом (в килограммах). В каждой из таких строк идет сначала категория (заглавная латинская буква), потом пробел, потом вес товара (натуральное число).
Выходные данные:
Вывести одно число – максимальное количество товаров (в штуках) категории «С», которые может перевезти фирма за один раз (общий вес товаров не должен превышать 30000 кг.).
Так, например, если программе на вход будут поданы следующие данные:
7
C 1200
A20000
B15000
C 1500
C25000
C18000
C 1000,
то она должна вывести число 4.