#include <bits/stdc++.h>
#define ll long long
#define all(a) (a).begin(), (a).end()
#define dbg_line(x) cout << (x) << '\n'
#define dbg(x) cout << x << " "
using namespace std;
// <--> Report constants <-->
typedef pair<int, int> pii;
const int max_n = 1e5 + 5;
const ll inf = 1e9;
const ll m_inf = -1e9;
const ll mod = 1e9 + 7;
// <--> Report variables <-->
// <--> Main Code is Here <-->
class Point{
private:
float x, y;
public:
Point(){
}
Point(float x, float y){
this->x = x;
this->y = y;
}
float getX(){
return x;
}
float getY(){
return y;
}
float distance(Point tmp){
return sqrt(pow((x - tmp.getX()), 2) + pow((y - tmp.getY()), 2));
}
};
class Straight{
private:
Point x, y;
public:
Straight(){
}
Straight(Point x, Point y){
this->x = x;
this->y = y;
}
float dist(){
return x.distance(y);
}
};
int main(){
int n;
cout << "Nhap N Duong Thang: ";
cin >> n;
float minDist = inf, maxDist = -inf;
for (int i = 0; i < n; i++){
int x1, y1, x2, y2;
cout << "Nhap Toa Do Diem X: ";
cin >> x1 >> y1;
cout << "Nhap Toa Do Diem Y: ";
cin >> x2 >> y2;
Point x(x1, y1), y(x2, y2);
Straight s(x, y);
minDist = min(minDist, s.dist());
maxDist = max(maxDist, s.dist());
}
cout << "Duong Thang Ngan Nhat La: " << minDist << '\n';
cout << "Duong Thang Dai Nhat La: " << maxDist << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgYWxsKGEpIChhKS5iZWdpbigpLCAoYSkuZW5kKCkKI2RlZmluZSBkYmdfbGluZSh4KSBjb3V0IDw8ICh4KSA8PCAnXG4nCiNkZWZpbmUgZGJnKHgpIGNvdXQgPDwgeCA8PCAiICIKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyA8LS0+IFJlcG9ydCBjb25zdGFudHMgPC0tPgoKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaWk7CmNvbnN0IGludCBtYXhfbiA9IDFlNSArIDU7CmNvbnN0IGxsIGluZiA9IDFlOTsKY29uc3QgbGwgbV9pbmYgPSAtMWU5Owpjb25zdCBsbCBtb2QgPSAxZTkgKyA3OwoKLy8gPC0tPiBSZXBvcnQgdmFyaWFibGVzIDwtLT4KCgovLyA8LS0+IE1haW4gQ29kZSBpcyBIZXJlIDwtLT4KCmNsYXNzIFBvaW50ewpwcml2YXRlOgogICAgZmxvYXQgeCwgeTsKcHVibGljOgogICAgUG9pbnQoKXsKCiAgICB9CiAgICBQb2ludChmbG9hdCB4LCBmbG9hdCB5KXsKICAgICAgICB0aGlzLT54ID0geDsKICAgICAgICB0aGlzLT55ID0geTsKICAgIH0KICAgIGZsb2F0IGdldFgoKXsKICAgICAgICByZXR1cm4geDsKICAgIH0KICAgIGZsb2F0IGdldFkoKXsKICAgICAgICByZXR1cm4geTsKICAgIH0KICAgIGZsb2F0IGRpc3RhbmNlKFBvaW50IHRtcCl7CiAgICAgICAgcmV0dXJuIHNxcnQocG93KCh4IC0gdG1wLmdldFgoKSksIDIpICsgcG93KCh5IC0gdG1wLmdldFkoKSksIDIpKTsKICAgIH0KfTsKCmNsYXNzIFN0cmFpZ2h0ewpwcml2YXRlOgogICAgUG9pbnQgeCwgeTsKcHVibGljOgogICAgU3RyYWlnaHQoKXsKCiAgICB9CiAgICBTdHJhaWdodChQb2ludCB4LCBQb2ludCB5KXsKICAgICAgICB0aGlzLT54ID0geDsKICAgICAgICB0aGlzLT55ID0geTsKICAgIH0KICAgIGZsb2F0IGRpc3QoKXsKICAgICAgICByZXR1cm4geC5kaXN0YW5jZSh5KTsKICAgIH0KCn07CgppbnQgbWFpbigpewogICAgaW50IG47CiAgICBjb3V0IDw8ICJOaGFwIE4gRHVvbmcgVGhhbmc6ICI7CiAgICBjaW4gPj4gbjsKICAgIGZsb2F0IG1pbkRpc3QgPSBpbmYsIG1heERpc3QgPSAtaW5mOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGludCB4MSwgeTEsIHgyLCB5MjsKICAgICAgICBjb3V0IDw8ICJOaGFwIFRvYSBEbyBEaWVtIFg6ICI7CiAgICAgICAgY2luID4+IHgxID4+IHkxOwogICAgICAgIGNvdXQgPDwgIk5oYXAgVG9hIERvIERpZW0gWTogIjsKICAgICAgICBjaW4gPj4geDIgPj4geTI7CiAgICAgICAgUG9pbnQgeCh4MSwgeTEpLCB5KHgyLCB5Mik7CiAgICAgICAgU3RyYWlnaHQgcyh4LCB5KTsKICAgICAgICBtaW5EaXN0ID0gbWluKG1pbkRpc3QsIHMuZGlzdCgpKTsKICAgICAgICBtYXhEaXN0ID0gbWF4KG1heERpc3QsIHMuZGlzdCgpKTsKICAgIH0KICAgIGNvdXQgPDwgIkR1b25nIFRoYW5nIE5nYW4gTmhhdCBMYTogIiA8PCBtaW5EaXN0IDw8ICdcbic7CiAgICBjb3V0IDw8ICJEdW9uZyBUaGFuZyBEYWkgTmhhdCBMYTogIiA8PCBtYXhEaXN0IDw8ICdcbic7Cn0K