#include <iostream>
#include <vector>
#include <cmath> // Untuk fungsi std::abs
#include <algorithm> // Untuk std::max
struct Titik {
double x;
double y; // Y tidak diperlukan untuk jarak horizontal, tetapi umumnya ada dalam koordinat
};
int main() {
std::vector<Titik> titik_titik = {
{1.0, 2.0},
{5.0, 7.0},
{3.0, 1.0},
{10.0, 4.0}
};
if (titik_titik.empty()) {
std::cout << "Tidak ada titik untuk dihitung." << std::endl;
return 1;
}
// Inisialisasi jarak horizontal terjauh dengan jarak antara titik pertama dan kedua
double jarak_horizontal_terjauh = 0.0;
// Hitung jarak horizontal antar semua pasangan titik
for (size_t i = 0; i < titik_titik.size(); ++i) {
for (size_t j = i + 1; j < titik_titik.size(); ++j) {
double selisih_x = titik_titik[i].x - titik_titik[j].x;
double jarak_saat_ini = std::abs(selisih_x); // Menggunakan std::abs untuk nilai mutlak
// Perbarui jarak terjauh jika jarak saat ini lebih besar
if (jarak_saat_ini > jarak_horizontal_terjauh) {
jarak_horizontal_terjauh = jarak_saat_ini;
}
}
}
std::cout << "Jarak horizontal terjauh adalah: " << jarak_horizontal_terjauh << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+IC8vIFVudHVrIGZ1bmdzaSBzdGQ6OmFicwojaW5jbHVkZSA8YWxnb3JpdGhtPiAvLyBVbnR1ayBzdGQ6Om1heAoKc3RydWN0IFRpdGlrIHsKICAgIGRvdWJsZSB4OwogICAgZG91YmxlIHk7IC8vIFkgdGlkYWsgZGlwZXJsdWthbiB1bnR1ayBqYXJhayBob3Jpem9udGFsLCB0ZXRhcGkgdW11bW55YSBhZGEgZGFsYW0ga29vcmRpbmF0Cn07CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6dmVjdG9yPFRpdGlrPiB0aXRpa190aXRpayA9IHsKICAgICAgICB7MS4wLCAyLjB9LAogICAgICAgIHs1LjAsIDcuMH0sCiAgICAgICAgezMuMCwgMS4wfSwKICAgICAgICB7MTAuMCwgNC4wfQogICAgfTsKCiAgICBpZiAodGl0aWtfdGl0aWsuZW1wdHkoKSkgewogICAgICAgIHN0ZDo6Y291dCA8PCAiVGlkYWsgYWRhIHRpdGlrIHVudHVrIGRpaGl0dW5nLiIgPDwgc3RkOjplbmRsOwogICAgICAgIHJldHVybiAxOwogICAgfQoKICAgIC8vIEluaXNpYWxpc2FzaSBqYXJhayBob3Jpem9udGFsIHRlcmphdWggZGVuZ2FuIGphcmFrIGFudGFyYSB0aXRpayBwZXJ0YW1hIGRhbiBrZWR1YQogICAgZG91YmxlIGphcmFrX2hvcml6b250YWxfdGVyamF1aCA9IDAuMDsKCiAgICAvLyBIaXR1bmcgamFyYWsgaG9yaXpvbnRhbCBhbnRhciBzZW11YSBwYXNhbmdhbiB0aXRpawogICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB0aXRpa190aXRpay5zaXplKCk7ICsraSkgewogICAgICAgIGZvciAoc2l6ZV90IGogPSBpICsgMTsgaiA8IHRpdGlrX3RpdGlrLnNpemUoKTsgKytqKSB7CiAgICAgICAgICAgIGRvdWJsZSBzZWxpc2loX3ggPSB0aXRpa190aXRpa1tpXS54IC0gdGl0aWtfdGl0aWtbal0ueDsKICAgICAgICAgICAgZG91YmxlIGphcmFrX3NhYXRfaW5pID0gc3RkOjphYnMoc2VsaXNpaF94KTsgLy8gTWVuZ2d1bmFrYW4gc3RkOjphYnMgdW50dWsgbmlsYWkgbXV0bGFrCgogICAgICAgICAgICAvLyBQZXJiYXJ1aSBqYXJhayB0ZXJqYXVoIGppa2EgamFyYWsgc2FhdCBpbmkgbGViaWggYmVzYXIKICAgICAgICAgICAgaWYgKGphcmFrX3NhYXRfaW5pID4gamFyYWtfaG9yaXpvbnRhbF90ZXJqYXVoKSB7CiAgICAgICAgICAgICAgICBqYXJha19ob3Jpem9udGFsX3RlcmphdWggPSBqYXJha19zYWF0X2luaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBzdGQ6OmNvdXQgPDwgIkphcmFrIGhvcml6b250YWwgdGVyamF1aCBhZGFsYWg6ICIgPDwgamFyYWtfaG9yaXpvbnRhbF90ZXJqYXVoIDw8IHN0ZDo6ZW5kbDsKCiAgICByZXR1cm4gMDsKfQ==