Предмет: Информатика, автор: rundy067

Месклиниты собрались в экспедицию на край света. У них есть корабль, состоящий из N × M плотиков, связанных между собой. У каждого плотика есть своя грузоподъемность, а у каждого месклинита – своя масса. На каждом плотике может находиться не более одного месклинита. Если грузоподъемность выбранного плотика меньше массы месклинита, то бедный месклинит утонет при посадке.

Руководитель экспедиции продумывает рассадку по плотикам. Помогите ему определить, какому максимальному количеству месклинитов удастся отправиться в путь.

Входные данные
В первой строке даны числа N и M (1 ≤ N, M ≤ 40). В каждой из последующих N строк содержится по M чисел, обозначающих грузоподъемность соответствующего плотика. В (N+2)-ой строке находится число K (1 ≤ K ≤ 2000) – количество месклинитов. В (N+3)-ей строке содержатся K чисел, i-ое из которых – масса i-ого месклинита. Все массы месклинитов и грузоподъемности плотиков – натуральные числа, не превышающие 109.

Выходные данные
Требуется вывести одно число – максимально возможное количество участников экспедиции.

Пример:
входные данные
3 2
5 10
7 5
5 5
6
9 5 3 5 12 10
выходные данные
4

Ответы

Автор ответа: irka1804
0
#include <iostream> 
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
long long n, m, i, j, k;
cin >> n >> m;
vector < long long > plot, mesk;

for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
{
long long x;
cin >> x;
plot.push_back(x);
}
cin >> k;
for (i = 0; i < k; i++)
{
long long x;
cin >> x;
mesk.push_back(x);
}
sort(plot.begin(), plot.end());
sort(mesk.begin(), mesk.end());

k = 0;
i = plot.size() - 1;
j = mesk.size() - 1;
while (i * j > 0)
{
if (plot[i] >= mesk[j])
{
k++;
i--;
j--;
}
else
j--;
}
cout << k << endl;
}
Автор ответа: irka1804
0
значит надо искать ошибку =((
Автор ответа: irka1804
0
строчку while (i * j > 0) замени на ((i+1)*(j+1) > 0)
Автор ответа: irka1804
0
И проверь язык
Автор ответа: irka1804
0
у меня все зашло
Автор ответа: rundy067
0
Cпасибо!
Похожие вопросы
Предмет: Алгебра, автор: Ololo30349