#include <iostream>
#include <vector>
#include <cmath> // Untuk std::abs
#include <limits> // Untuk std::numeric_limits
struct Titik {
double x;
double y;
};
int main() {
// Data titik-titik
std::vector<Titik> titik_titik = {{1.0, 2.0}, {5.0, 7.0}, {-2.0, 3.0}, {4.0, 1.0}};
// Inisialisasi
double x_min = std::numeric_limits<double>::max();
double x_max = std::numeric_limits<double>::lowest();
// Iterasi untuk mencari nilai x_min dan x_max
for (const auto& t : titik_titik) {
if (t.x < x_min) {
x_min = t.x;
}
if (t.x > x_max) {
x_max = t.x;
}
}
// Hitung jarak horizontal terjauh
double jarak_horizontal = std::abs(x_max - x_min);
// Tampilkan hasil
std::cout << "Jarak horizontal terjauh: " << jarak_horizontal << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+IC8vIFVudHVrIHN0ZDo6YWJzCiNpbmNsdWRlIDxsaW1pdHM+IC8vIFVudHVrIHN0ZDo6bnVtZXJpY19saW1pdHMKCnN0cnVjdCBUaXRpayB7CiAgICBkb3VibGUgeDsKICAgIGRvdWJsZSB5Owp9OwoKaW50IG1haW4oKSB7CiAgICAvLyBEYXRhIHRpdGlrLXRpdGlrCiAgICBzdGQ6OnZlY3RvcjxUaXRpaz4gdGl0aWtfdGl0aWsgPSB7ezEuMCwgMi4wfSwgezUuMCwgNy4wfSwgey0yLjAsIDMuMH0sIHs0LjAsIDEuMH19OwoKICAgIC8vIEluaXNpYWxpc2FzaQogICAgZG91YmxlIHhfbWluID0gc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjptYXgoKTsKICAgIGRvdWJsZSB4X21heCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bG93ZXN0KCk7CgogICAgLy8gSXRlcmFzaSB1bnR1ayBtZW5jYXJpIG5pbGFpIHhfbWluIGRhbiB4X21heAogICAgZm9yIChjb25zdCBhdXRvJiB0IDogdGl0aWtfdGl0aWspIHsKICAgICAgICBpZiAodC54IDwgeF9taW4pIHsKICAgICAgICAgICAgeF9taW4gPSB0Lng7CiAgICAgICAgfQogICAgICAgIGlmICh0LnggPiB4X21heCkgewogICAgICAgICAgICB4X21heCA9IHQueDsKICAgICAgICB9CiAgICB9CgogICAgLy8gSGl0dW5nIGphcmFrIGhvcml6b250YWwgdGVyamF1aAogICAgZG91YmxlIGphcmFrX2hvcml6b250YWwgPSBzdGQ6OmFicyh4X21heCAtIHhfbWluKTsKCiAgICAvLyBUYW1waWxrYW4gaGFzaWwKICAgIHN0ZDo6Y291dCA8PCAiSmFyYWsgaG9yaXpvbnRhbCB0ZXJqYXVoOiAiIDw8IGphcmFrX2hvcml6b250YWwgPDwgc3RkOjplbmRsOwoKICAgIHJldHVybiAwOwp9Cg==