GS HS
Ученик
(186)
2 часа назад
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
int n;
std::cin >> n;
std::vector<int> 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 total_weight = 0;
int count = 0;
for (int weight : weights) {
if (total_weight + weight <= 30000) {
total_weight += weight;
++count;
} else {
break;
}
}
std::cout << count << std::endl;
return 0;
}
Входные данные:
Вводится натуральное число n – количество товаров на складе. Далее вводятся n строк с категорией и весом (в килограммах). В каждой из таких строк идет сначала категория (заглавная латинская буква), потом пробел, потом вес товара (натуральное число).
Выходные данные:
Вывести одно число – максимальное количество товаров (в штуках) категории «С», которые может перевезти фирма за один раз (общий вес товаров не должен превышать 30000 кг.).
Так, например, если программе на вход будут поданы следующие данные:
7
C 1200
A 20000
B 15000
C 1500
C 25000
C 18000
C 1000,
то она должна вывести число 4.