Task: | 6G network |
Sender: | Rasse |
Submission time: | 2024-11-11 16:54:58 +0200 |
Language: | C++ (C++17) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | ACCEPTED | 0.00 s | details |
#5 | ACCEPTED | 0.00 s | details |
#6 | ACCEPTED | 0.00 s | details |
#7 | ACCEPTED | 0.00 s | details |
#8 | ACCEPTED | 0.00 s | details |
#9 | ACCEPTED | 0.00 s | details |
#10 | ACCEPTED | 0.00 s | details |
#11 | ACCEPTED | 0.00 s | details |
#12 | ACCEPTED | 0.00 s | details |
#13 | ACCEPTED | 0.00 s | details |
#14 | ACCEPTED | 0.00 s | details |
#15 | ACCEPTED | 0.00 s | details |
#16 | ACCEPTED | 0.00 s | details |
#17 | ACCEPTED | 0.00 s | details |
#18 | ACCEPTED | 0.00 s | details |
#19 | ACCEPTED | 0.00 s | details |
#20 | ACCEPTED | 0.00 s | details |
#21 | ACCEPTED | 0.00 s | details |
#22 | ACCEPTED | 0.00 s | details |
#23 | ACCEPTED | 0.00 s | details |
#24 | ACCEPTED | 0.00 s | details |
#25 | ACCEPTED | 0.00 s | details |
#26 | ACCEPTED | 0.00 s | details |
#27 | ACCEPTED | 0.00 s | details |
#28 | ACCEPTED | 0.00 s | details |
#29 | ACCEPTED | 0.00 s | details |
#30 | ACCEPTED | 0.00 s | details |
#31 | ACCEPTED | 0.01 s | details |
#32 | ACCEPTED | 0.01 s | details |
#33 | ACCEPTED | 0.01 s | details |
#34 | ACCEPTED | 0.01 s | details |
#35 | ACCEPTED | 0.01 s | details |
#36 | ACCEPTED | 0.01 s | details |
#37 | ACCEPTED | 0.01 s | details |
#38 | ACCEPTED | 0.01 s | details |
#39 | ACCEPTED | 0.01 s | details |
#40 | ACCEPTED | 0.01 s | details |
#41 | ACCEPTED | 0.01 s | details |
#42 | ACCEPTED | 0.01 s | details |
#43 | ACCEPTED | 0.01 s | details |
#44 | ACCEPTED | 0.01 s | details |
#45 | ACCEPTED | 0.01 s | details |
#46 | ACCEPTED | 0.01 s | details |
#47 | ACCEPTED | 0.01 s | details |
#48 | ACCEPTED | 0.01 s | details |
#49 | ACCEPTED | 0.01 s | details |
#50 | ACCEPTED | 0.01 s | details |
#51 | ACCEPTED | 0.04 s | details |
#52 | ACCEPTED | 0.04 s | details |
#53 | ACCEPTED | 0.04 s | details |
#54 | ACCEPTED | 0.04 s | details |
#55 | ACCEPTED | 0.04 s | details |
#56 | ACCEPTED | 0.04 s | details |
#57 | ACCEPTED | 0.04 s | details |
#58 | ACCEPTED | 0.04 s | details |
#59 | ACCEPTED | 0.04 s | details |
#60 | ACCEPTED | 0.04 s | details |
#61 | ACCEPTED | 0.14 s | details |
#62 | ACCEPTED | 0.14 s | details |
#63 | ACCEPTED | 0.14 s | details |
#64 | ACCEPTED | 0.14 s | details |
#65 | ACCEPTED | 0.15 s | details |
Compiler report
input/code.cpp: In function 'void solve()': input/code.cpp:63:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::complex<long double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare] 63 | for (int i = 0; i < points.size(); i++) | ~~^~~~~~~~~~~~~~~ input/code.cpp:65:29: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::complex<long double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare] 65 | for (int j = i+1; j < points.size(); j++) | ~~^~~~~~~~~~~~~~~ input/code.cpp:81:23: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::tuple<long double, long double, long double> >::size_type' {aka 'long unsigned int'} [-Wsign-compare] 81 | for (int i = 0; i < data.size(); i++) | ~~^~~~~~~~~~~~~
Code
#include <iostream> #include <vector> #include <array> #include <string> #include <algorithm> #include <numeric> #include <unordered_map> #include <unordered_set> #include <queue> #include <climits> #include <cmath> #include <functional> #include <type_traits> #include <fstream> #include <bitset> #include <complex> #include <iomanip> #define int long long using namespace std; //#define cross(x, y) ((x).real()*(y).imag()-(x).imag()*(y).real()) #define cross(x, y) (((x)*conj(y)).imag()) #define sign(v) ((0 < (v)) - ((v) < 0)) int link[1000000]; int siz[1000000]; int find(int x) { while (x != link[x]) x = link[x]; return x; } bool same(int a, int b) { return find(a) == find(b); } void unite(int a, int b) { a = find(a); b = find(b); if (siz[a] < siz[b]) swap(a,b); siz[a] += siz[b]; link[b] = a; } void solve() { int n; cin >> n; for (int i = 1; i <= n; i++) link[i] = i; for (int i = 1; i <= n; i++) siz[i] = 1; vector<complex<long double>> points(n); for (int i = 0; i < n; i++) { long double a, b; cin >> a >> b; points[i] = {a, b}; } vector<tuple<long double, long double, long double>> data; data.reserve(n*n); for (int i = 0; i < points.size(); i++) { for (int j = i+1; j < points.size(); j++) { //long double maxVal = (points[i].real() - points[j].real()) * (points[i].real() - points[j].real()) + (points[i].imag() - points[j].imag()) * (points[i].imag() - points[j].imag()); //long double dist = sqrt(maxVal); long double xD = abs(points[i].real() - points[j].real()); long double yD = abs(points[i].imag() - points[j].imag()); long double dist = sqrt(xD) * sqrt(yD) * sqrt(xD/yD + yD/xD); //cout << "DIST " << dist << endl; data.push_back({dist, i, j}); //data.push_back({maxVal, i, j}); } } sort(data.begin(), data.end()); int c = n; long double last = 0; for (int i = 0; i < data.size(); i++) { if (find(get<1>(data[i])) == find(get<2>(data[i]))) continue; unite(get<1>(data[i]), get<2>(data[i])); c--; last = get<0>(data[i]); if (c == 1) break; } cout << last;//sqrt(last); } signed main() { ios::sync_with_stdio(0); cout.precision(25); //setprecision(10); //cin.tie(0); int t = 1; //cin >> t; //ifstream f("testcase.txt"); //cin.rdbuf(f.rdbuf()); for (int i = 0; i < t; i++) solve(); }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 4.2591064316 -1.4305814994 |
correct output |
---|
0.00000000000000000000 |
user output |
---|
0 |
Test 2
Verdict: ACCEPTED
input |
---|
2 -6.0847229043 -1.5324885688 -1.6396947713 -1.0447428951 |
correct output |
---|
4.47170783318572061639 |
user output |
---|
4.471707833185720616826775 |
Test 3
Verdict: ACCEPTED
input |
---|
2 -0.3451828704 -7.1873918490 1.0713060289 1.8791459872 |
correct output |
---|
9.17652162516311534299 |
user output |
---|
9.176521625163115342994902 |
Test 4
Verdict: ACCEPTED
input |
---|
3 4.2591064316 -1.4305814994 3.8176970288 4.3830061776 -0.1776213445 5.6005552105 |
correct output |
---|
5.83032108370083756695 |
user output |
---|
5.830321083700837566949488 |
Test 5
Verdict: ACCEPTED
input |
---|
3 -1.0847570211 7.2329426240 2.3665666348 -8.2915635928 -6.5499304506 -8.4795054694 |
correct output |
---|
15.90351936689602016951 |
user output |
---|
15.90351936689602017037382 |
Test 6
Verdict: ACCEPTED
input |
---|
4 -0.0065099865 -6.8175556290 -8.9288243166 -5.6345572909 -4.7044491466 -1.5514279091 1.0409756581 5.2858009044 |
correct output |
---|
8.93071128380134405655 |
user output |
---|
8.930711283801344057414751 |
Test 7
Verdict: ACCEPTED
input |
---|
4 -6.5835380846 -4.2392097853 -6.7150543624 -2.0586391194 -3.7243738734 -9.5714693167 -0.2547656922 8.6929691250 |
correct output |
---|
12.54322165726830064138 |
user output |
---|
12.54322165726830064311909 |
Test 8
Verdict: ACCEPTED
input |
---|
4 -6.3149870710 7.7035024848 4.0148832489 2.6391874051 -8.1980280145 -2.8164045396 7.7349470409 9.3888104114 |
correct output |
---|
11.50449946987819829780 |
user output |
---|
11.50449946987819830040295 |
Test 9
Verdict: ACCEPTED
input |
---|
4 3.1826102096 9.6315702959 9.7306184566 -9.6262882447 -5.8529365549 -5.2919807295 -4.2871937712 -0.2626979830 |
correct output |
---|
16.17508604096948732209 |
user output |
---|
16.17508604096948732382899 |
Test 10
Verdict: ACCEPTED
input |
---|
4 -0.3725599416 3.7535021503 7.1314057588 -0.3452105339 2.1019197385 -1.2159625143 -4.8936470874 0.0075031628 |
correct output |
---|
5.87134885646126597177 |
user output |
---|
5.871348856461265972635916 |
Test 11
Verdict: ACCEPTED
input |
---|
5 1.8568923303 6.8853148851 7.1589123998 6.9450347477 2.4712739299 -2.3123658325 -4.0493078929 -8.8657404813 ... |
correct output |
---|
9.21817744094991402444 |
user output |
---|
9.218177440949914024440059 |
Test 12
Verdict: ACCEPTED
input |
---|
5 9.9436961646 8.6511472274 -7.4375110446 9.9808103093 -5.2782204740 -2.0683854767 -2.2417851948 3.3949208089 ... |
correct output |
---|
11.50777035927174466248 |
user output |
---|
11.50777035927174466335005 |
Test 13
Verdict: ACCEPTED
input |
---|
5 -6.2983583685 8.6308172719 8.9546122195 -0.3050180737 -3.5892712724 -6.9114664880 3.9772537872 -7.6009891200 ... |
correct output |
---|
9.71303212730634494936 |
user output |
---|
9.713032127306344950222472 |
Test 14
Verdict: ACCEPTED
input |
---|
5 -8.5855023910 6.7989808494 -7.5734284134 1.3862265158 -1.2587611941 -9.6250397903 -9.1873852484 -5.0422339644 ... |
correct output |
---|
9.15779387365360776282 |
user output |
---|
9.157793873653607761957385 |
Test 15
Verdict: ACCEPTED
input |
---|
5 8.0124290984 -6.5460934977 7.1124189020 2.1807119656 1.9511241172 -7.1707165417 -5.5098814611 3.9684047876 ... |
correct output |
---|
12.74826702270330998704 |
user output |
---|
12.74826702270330998790354 |
Test 16
Verdict: ACCEPTED
input |
---|
5 -8.8963975840 6.6265568038 -2.7252620915 9.5888999566 -8.2035793155 -2.0652678674 -2.9172391409 -0.2672400301 ... |
correct output |
---|
13.00048104392330636930 |
user output |
---|
13.00048104392330637017056 |
Test 17
Verdict: ACCEPTED
input |
---|
5 8.9495215281 -5.8118726856 -8.7149078500 -2.5978119204 9.7005763562 -8.0105662272 2.1694723402 0.6079293528 ... |
correct output |
---|
11.34665189540580491293 |
user output |
---|
11.34665189540580491379951 |
Test 18
Verdict: ACCEPTED
input |
---|
5 -5.4532185007 -3.6205554438 9.5644579243 -0.8883018432 -3.8397446555 -4.7225831843 -8.2651312952 -1.6125557848 ... |
correct output |
---|
13.94182054837260448070 |
user output |
---|
13.94182054837260448156705 |
Test 19
Verdict: ACCEPTED
input |
---|
5 -9.7777112346 -5.2112085653 -2.4496604741 6.3292256907 -1.5529838240 2.2406666587 5.3212585879 -1.9614977231 ... |
correct output |
---|
11.09849473274371704085 |
user output |
---|
11.09849473274371704258068 |
Test 20
Verdict: ACCEPTED
input |
---|
5 -2.7107794769 -0.0173926842 -9.8491379968 -3.6755137605 -9.7335597820 7.5444241810 -7.2494636084 -7.2277343960 ... |
correct output |
---|
10.31990879400218362374 |
user output |
---|
10.31990879400218362373781 |
Test 21
Verdict: ACCEPTED
input |
---|
10 1.8568923303 6.8853148851 7.1589123998 6.9450347477 2.4712739299 -2.3123658325 -4.0493078929 -8.8657404813 ... |
correct output |
---|
8.43373300459665028398 |
user output |
---|
8.433733004596650284848125 |
Test 22
Verdict: ACCEPTED
input |
---|
10 9.9436961646 8.6511472274 -7.4375110446 9.9808103093 -5.2782204740 -2.0683854767 -2.2417851948 3.3949208089 ... |
correct output |
---|
8.30203528819313353593 |
user output |
---|
8.302035288193133537662516 |
Test 23
Verdict: ACCEPTED
input |
---|
10 -6.2983583685 8.6308172719 8.9546122195 -0.3050180737 -3.5892712724 -6.9114664880 3.9772537872 -7.6009891200 ... |
correct output |
---|
8.46970179011128996346 |
user output |
---|
8.469701790111289964324559 |
Test 24
Verdict: ACCEPTED
input |
---|
10 -8.5855023910 6.7989808494 -7.5734284134 1.3862265158 -1.2587611941 -9.6250397903 -9.1873852484 -5.0422339644 ... |
correct output |
---|
8.03457104643789539987 |
user output |
---|
8.034571046437895399869311 |
Test 25
Verdict: ACCEPTED
input |
---|
10 8.0124290984 -6.5460934977 7.1124189020 2.1807119656 1.9511241172 -7.1707165417 -5.5098814611 3.9684047876 ... |
correct output |
---|
8.40104919081107975529 |
user output |
---|
8.401049190811079755286661 |
Test 26
Verdict: ACCEPTED
input |
---|
10 -8.8963975840 6.6265568038 -2.7252620915 9.5888999566 -8.2035793155 -2.0652678674 -2.9172391409 -0.2672400301 ... |
correct output |
---|
6.83090893175365792417 |
user output |
---|
6.830908931753657924602213 |
Test 27
Verdict: ACCEPTED
input |
---|
10 8.9495215281 -5.8118726856 -8.7149078500 -2.5978119204 9.7005763562 -8.0105662272 2.1694723402 0.6079293528 ... |
correct output |
---|
10.24111977550903899992 |
user output |
---|
10.24111977550903900165136 |
Test 28
Verdict: ACCEPTED
input |
---|
10 -5.4532185007 -3.6205554438 9.5644579243 -0.8883018432 -3.8397446555 -4.7225831843 -8.2651312952 -1.6125557848 ... |
correct output |
---|
7.75719199582075191442 |
user output |
---|
7.75719199582075191355332 |
Test 29
Verdict: ACCEPTED
input |
---|
10 -9.7777112346 -5.2112085653 -2.4496604741 6.3292256907 -1.5529838240 2.2406666587 5.3212585879 -1.9614977231 ... |
correct output |
---|
8.05688489611421130090 |
user output |
---|
8.05688489611421130090485 |
Test 30
Verdict: ACCEPTED
input |
---|
10 -2.7107794769 -0.0173926842 -9.8491379968 -3.6755137605 -9.7335597820 7.5444241810 -7.2494636084 -7.2277343960 ... |
correct output |
---|
9.50770899513712303228 |
user output |
---|
9.507708995137123032283244 |
Test 31
Verdict: ACCEPTED
input |
---|
100 18.5689233033 68.8531488513 71.5891239980 69.4503474769 24.7127392992 -23.1236583252 -40.4930789286 -88.6574048134 ... |
correct output |
---|
45.82615853745645677006 |
user output |
---|
45.82615853745645677352893 |
Test 32
Verdict: ACCEPTED
input |
---|
100 99.4369616461 86.5114722736 -74.3751104455 99.8081030931 -52.7822047404 -20.6838547675 -22.4178519479 33.9492080894 ... |
correct output |
---|
35.50700204049589586708 |
user output |
---|
35.50700204049589586707825 |
Test 33
Verdict: ACCEPTED
input |
---|
100 -62.9835836852 86.3081727189 89.5461221947 -3.0501807371 -35.8927127244 -69.1146648801 39.7725378724 -76.0098911999 ... |
correct output |
---|
31.22345190290398834337 |
user output |
---|
31.22345190290398834684349 |
Test 34
Verdict: ACCEPTED
input |
---|
100 -85.8550239098 67.9898084937 -75.7342841341 13.8622651580 -12.5876119410 -96.2503979031 -91.8738524837 -50.4223396439 ... |
correct output |
---|
28.89162360331196992801 |
user output |
---|
28.89162360331196992974112 |
Test 35
Verdict: ACCEPTED
input |
---|
100 80.1242909845 -65.4609349767 71.1241890198 21.8071196561 19.5112411723 -71.7071654174 -55.0988146115 39.6840478762 ... |
correct output |
---|
30.00479071642544109597 |
user output |
---|
30.00479071642544109596584 |
Test 36
Verdict: ACCEPTED
input |
---|
100 -88.9639758402 66.2655680380 -27.2526209146 95.8889995664 -82.0357931550 -20.6526786735 -29.1723914088 -2.6724003014 ... |
correct output |
---|
38.79483709927152193866 |
user output |
---|
38.79483709927152193866484 |
Test 37
Verdict: ACCEPTED
input |
---|
100 89.4952152806 -58.1187268564 -87.1490785004 -25.9781192037 97.0057635618 -80.1056622716 21.6947234017 6.0792935276 ... |
correct output |
---|
34.76745343632208916709 |
user output |
---|
34.76745343632208917056259 |
Test 38
Verdict: ACCEPTED
input |
---|
100 -54.5321850071 -36.2055544378 95.6445792428 -8.8830184320 -38.3974465552 -47.2258318431 -82.6513129519 -16.1255578477 ... |
correct output |
---|
47.33751163277151602013 |
user output |
---|
47.33751163277151602359893 |
Test 39
Verdict: ACCEPTED
input |
---|
100 -97.7771123464 -52.1120856531 -24.4966047411 63.2922569071 -15.5298382401 22.4066665867 53.2125858790 -19.6149772311 ... |
correct output |
---|
27.44794402724227265142 |
user output |
---|
27.44794402724227265141788 |
Test 40
Verdict: ACCEPTED
input |
---|
100 -27.1077947686 -0.1739268423 -98.4913799681 -36.7551376049 -97.3355978196 75.4442418096 -72.4946360840 -72.2773439601 ... |
correct output |
---|
28.86385308540476819956 |
user output |
---|
28.86385308540476819609555 |
Test 41
Verdict: ACCEPTED
input |
---|
200 18568.9233033365 68853.1488513... |
correct output |
---|
26027.91880492172062666612 |
user output |
---|
26027.91880492172062666612 |
Test 42
Verdict: ACCEPTED
input |
---|
200 99436.9616460531 86511.4722736... |
correct output |
---|
24738.66365623138931617575 |
user output |
---|
24738.66365623138931617575 |
Test 43
Verdict: ACCEPTED
input |
---|
200 -62983.5836851972 86308.172718... |
correct output |
---|
23114.05959792925350093640 |
user output |
---|
23114.05959792925350271275 |
Test 44
Verdict: ACCEPTED
input |
---|
200 -85855.0239097887 67989.808493... |
correct output |
---|
24449.05462058239773170953 |
user output |
---|
24449.05462058239773348589 |
Test 45
Verdict: ACCEPTED
input |
---|
200 80124.2909844513 -65460.934976... |
correct output |
---|
24090.54761531628931514604 |
user output |
---|
24090.54761531628931692239 |
Test 46
Verdict: ACCEPTED
input |
---|
200 -88963.9758401554 66265.568038... |
correct output |
---|
23439.53146829533727313333 |
user output |
---|
23439.53146829533727313333 |
Test 47
Verdict: ACCEPTED
input |
---|
200 89495.2152805803 -58118.726856... |
correct output |
---|
29128.03468783543361553257 |
user output |
---|
29128.03468783543361553257 |
Test 48
Verdict: ACCEPTED
input |
---|
200 -54532.1850070586 -36205.55443... |
correct output |
---|
24978.72415831473490044345 |
user output |
---|
24978.72415831473490221981 |
Test 49
Verdict: ACCEPTED
input |
---|
200 -97777.1123464485 -52112.08565... |
correct output |
---|
21209.18600929237329211219 |
user output |
---|
21209.18600929237329388855 |
Test 50
Verdict: ACCEPTED
input |
---|
200 -27107.7947686252 -173.9268423... |
correct output |
---|
23203.29193911443391939997 |
user output |
---|
23203.29193911443392295268 |
Test 51
Verdict: ACCEPTED
input |
---|
500 18568.9233033365 68853.1488513... |
correct output |
---|
16841.08154772710746982511 |
user output |
---|
16841.08154772710747160147 |
Test 52
Verdict: ACCEPTED
input |
---|
500 99436.9616460531 86511.4722736... |
correct output |
---|
13884.23860887098339489398 |
user output |
---|
13884.23860887098339578216 |
Test 53
Verdict: ACCEPTED
input |
---|
500 -62983.5836851972 86308.172718... |
correct output |
---|
16913.31415478189355283689 |
user output |
---|
16913.31415478189355461325 |
Test 54
Verdict: ACCEPTED
input |
---|
500 -85855.0239097887 67989.808493... |
correct output |
---|
16129.83510192776483815891 |
user output |
---|
16129.83510192776483993526 |
Test 55
Verdict: ACCEPTED
input |
---|
500 80124.2909844513 -65460.934976... |
correct output |
---|
13611.19288194623884713508 |
user output |
---|
13611.19288194623884713508 |
Test 56
Verdict: ACCEPTED
input |
---|
500 -88963.9758401554 66265.568038... |
correct output |
---|
14129.83398978742408491627 |
user output |
---|
14129.83398978742408580445 |
Test 57
Verdict: ACCEPTED
input |
---|
500 89495.2152805803 -58118.726856... |
correct output |
---|
14531.53671287865778083415 |
user output |
---|
14531.53671287865778349868 |
Test 58
Verdict: ACCEPTED
input |
---|
500 -54532.1850070586 -36205.55443... |
correct output |
---|
14387.11286249742570308996 |
user output |
---|
14387.11286249742570308996 |
Test 59
Verdict: ACCEPTED
input |
---|
500 -97777.1123464485 -52112.08565... |
correct output |
---|
15400.66824492762415577118 |
user output |
---|
15400.66824492762415577118 |
Test 60
Verdict: ACCEPTED
input |
---|
500 -27107.7947686252 -173.9268423... |
correct output |
---|
16119.06959734976690334918 |
user output |
---|
16119.06959734976690601371 |
Test 61
Verdict: ACCEPTED
input |
---|
1000 18568.9233033365 68853.1488513... |
correct output |
---|
11324.85732396049615111622 |
user output |
---|
11324.8573239604961520044 |
Test 62
Verdict: ACCEPTED
input |
---|
1000 99436.9616460531 86511.4722736... |
correct output |
---|
10665.82033665705907843346 |
user output |
---|
10665.82033665705907932164 |
Test 63
Verdict: ACCEPTED
input |
---|
1000 -62983.5836851972 86308.172718... |
correct output |
---|
12182.40552864239620589615 |
user output |
---|
12182.40552864239620678433 |
Test 64
Verdict: ACCEPTED
input |
---|
1000 -85855.0239097887 67989.808493... |
correct output |
---|
10851.63808946087635654010 |
user output |
---|
10851.63808946087635831645 |
Test 65
Verdict: ACCEPTED
input |
---|
1000 80124.2909844513 -65460.934976... |
correct output |
---|
11745.88161026176816204014 |
user output |
---|
11745.88161026176816115196 |