C/C++

С++ Узник замка Иф За многие годы заточения узник замка Иф проделал в стене прямоугольное отверстие размером D×E. Замок

Узник замка Иф
За многие годы заточения узник замка Иф проделал в стене прямоугольное отверстие размером D×E. Замок Иф сложен из кирпичей размером A×B×C. Определите, сможет ли узник выбрасывать кирпичи в море через это отверстие, если стороны кирпича должны быть параллельны сторонам отверстия.

Входные данные

Программа получает на вход числа A, B, C, D, E. Все числа натуральные, не превосходящие 10000.

Выходные данные

Программа должна вывести слово YES или NO.

Примеры
lipatov9999
lipatov9999
35
#include < iostream >
using namespace std;

int main()
{
int a, b, c, d, e;
cin >> a >> b >> c >> d >> e;
if (a > c) swap(a, c);
if (b > c) swap(b, c);
if (a > b) swap(a, b);
if (d > e) swap(d, e);
cout << (a <= d && b <= e ? "Yes" : "No");
}
Паша Сурков
Паша Сурков
51 411
Лучший ответ
#include <iostream>
int mn(int a, int b, int c) {
if (b < a) a = b;
if (c < a) a = c;
return a;
}
int mn(int a, int b) {
if (b < a) a = b;
return a;
}
int mx(int a, int b, int c) {
if (b > a) a = b;
if (c > a) a = c;
return a;
}
int mx(int a, int b) {
if (b > a) a = b;
return a;
}
long long sm(int a, int b, int c) {
return long long(a) + b + c;
}
int md(int a, int b, int c) {
auto s = sm(a, b, c);
auto x = mx(a, b, c);
auto n = mn(a, b, c);
return static_cast<int>(s - x - n);
}
int main() {
int a, b, c, d, e;
std::cin >> a >> b >> c >> d >> e;
if (mn(a, b, c) <= mn(d, e)) {
if (md(a, b, c) <= mn(d, e)) puts("YES");
else puts("NO");
} else puts("NO");
}
Игорь Лобанов
Игорь Лобанов
90 515
#include "iostream"
#include "algorithm"
using namespace std;
int main(){
int k[5]; for(int &i:k)cin>> i; sort(k,k+3); sort(k+3,k+5);
cout<<(k[1]<=k[4]&&k[0]<=k[3]?"Yes\n":"No\n");}
lipatov9999 в коде программы используются массив, цикл for и функция сортировки sort, что запрещено условиями задачи
Извините