Task: | Snake mall |
Sender: | paulschulte |
Submission time: | 2024-09-09 17:30:26 +0300 |
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.00 s | details |
#32 | ACCEPTED | 0.00 s | details |
#33 | ACCEPTED | 0.00 s | details |
#34 | ACCEPTED | 0.00 s | details |
#35 | ACCEPTED | 0.00 s | details |
#36 | ACCEPTED | 0.00 s | details |
#37 | ACCEPTED | 0.00 s | details |
#38 | ACCEPTED | 0.00 s | details |
#39 | ACCEPTED | 0.00 s | details |
#40 | ACCEPTED | 0.00 s | details |
#41 | ACCEPTED | 0.00 s | details |
#42 | ACCEPTED | 0.00 s | details |
#43 | ACCEPTED | 0.00 s | details |
#44 | ACCEPTED | 0.00 s | details |
#45 | ACCEPTED | 0.00 s | details |
#46 | ACCEPTED | 0.00 s | details |
#47 | ACCEPTED | 0.00 s | details |
#48 | ACCEPTED | 0.00 s | details |
#49 | ACCEPTED | 0.00 s | details |
#50 | ACCEPTED | 0.00 s | details |
#51 | ACCEPTED | 0.00 s | details |
#52 | ACCEPTED | 0.00 s | details |
#53 | ACCEPTED | 0.00 s | details |
#54 | ACCEPTED | 0.00 s | details |
#55 | ACCEPTED | 0.00 s | details |
#56 | ACCEPTED | 0.00 s | details |
#57 | ACCEPTED | 0.00 s | details |
#58 | ACCEPTED | 0.00 s | details |
#59 | ACCEPTED | 0.01 s | details |
#60 | ACCEPTED | 0.01 s | details |
#61 | ACCEPTED | 0.01 s | details |
#62 | ACCEPTED | 0.02 s | details |
#63 | ACCEPTED | 0.02 s | details |
#64 | ACCEPTED | 0.02 s | details |
#65 | ACCEPTED | 0.03 s | details |
#66 | ACCEPTED | 0.03 s | details |
#67 | ACCEPTED | 0.03 s | details |
#68 | ACCEPTED | 0.04 s | details |
#69 | ACCEPTED | 0.04 s | details |
#70 | ACCEPTED | 0.04 s | details |
#71 | ACCEPTED | 0.04 s | details |
#72 | ACCEPTED | 0.04 s | details |
Code
// ~/.vim/cpp_template.cpp #include <bits/stdc++.h> #include <iostream> #include <vector> #include <algorithm> #define REP(i,a,b) for (int i = a; i < b; i++) using namespace std; /* vector<int> adj[N]; vector<bool> visited(N, false); int u, v; for(int i = 0; i < M;i++){ cin >> u >> v; u--; v--; adj[u].push_back(v); adj[v].push_back(u); } */ int main() { ios::sync_with_stdio(0); cin.tie(0); // Your code starts here int n; cin >> n; vector<pair<int, int>> s(n); vector<int> pos(n); REP(i,0,n){ int temp; cin >> temp; s[i] = make_pair(temp, i); } sort(s.begin(), s.end()); long long left = 0, right = 0; REP(i,0,n){ if(left >= right){ pos[i] = right; right += s[i].first; }else{ pos[i] = -left - s[i].first; left += s[i].first; } } long double avg = 0.0; REP(i,0,n){ if(pos[i] >=0){ avg += pos[i]; }else{ avg += -pos[i] - s[i].first; } } avg /= n; cout.precision(50); cout << fixed << avg << endl; vector<int> pos_ordered(n); REP(i, 0, n){ pos_ordered[s[i].second] = pos[i]; } REP(i, 0, n){ cout << pos_ordered[i] << ' '; } cout << endl; return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
1 7 |
correct output |
---|
0.00000000000000000000 0 |
user output |
---|
0.0000000000000000000000000000... |
Test 2
Verdict: ACCEPTED
input |
---|
2 9 1 |
correct output |
---|
0.00000000000000000000 -9 0 |
user output |
---|
0.0000000000000000000000000000... |
Test 3
Verdict: ACCEPTED
input |
---|
2 2 5 |
correct output |
---|
0.00000000000000000000 0 -5 |
user output |
---|
0.0000000000000000000000000000... |
Test 4
Verdict: ACCEPTED
input |
---|
3 8 3 1 |
correct output |
---|
0.33333333333333333334 1 -3 0 |
user output |
---|
0.3333333333333333333423683514... |
Test 5
Verdict: ACCEPTED
input |
---|
3 2 1 1 |
correct output |
---|
0.33333333333333333334 1 0 -1 |
user output |
---|
0.3333333333333333333423683514... |
Test 6
Verdict: ACCEPTED
input |
---|
4 5 5 4 7 |
correct output |
---|
2.25000000000000000000 -5 4 0 -12 |
user output |
---|
2.2500000000000000000000000000... |
Test 7
Verdict: ACCEPTED
input |
---|
4 3 9 1 7 |
correct output |
---|
1.00000000000000000000 -3 -12 0 1 |
user output |
---|
1.0000000000000000000000000000... |
Test 8
Verdict: ACCEPTED
input |
---|
4 2 5 7 2 |
correct output |
---|
1.00000000000000000000 0 2 -9 -2 |
user output |
---|
1.0000000000000000000000000000... |
Test 9
Verdict: ACCEPTED
input |
---|
5 6 6 8 9 7 |
correct output |
---|
5.00000000000000000000 0 -6 -14 13 6 |
user output |
---|
5.0000000000000000000000000000... |
Test 10
Verdict: ACCEPTED
input |
---|
5 5 10 8 10 1 |
correct output |
---|
3.00000000000000000000 -5 -15 1 9 0 |
user output |
---|
3.0000000000000000000000000000... |
Test 11
Verdict: ACCEPTED
input |
---|
5 5 2 1 10 6 |
correct output |
---|
1.79999999999999999996 1 -2 0 6 -8 |
user output |
---|
1.7999999999999999999566319131... |
Test 12
Verdict: ACCEPTED
input |
---|
5 6 1 8 9 3 |
correct output |
---|
2.20000000000000000004 1 0 -11 7 -3 |
user output |
---|
2.2000000000000000000433680868... |
Test 13
Verdict: ACCEPTED
input |
---|
5 10 10 6 2 10 |
correct output |
---|
4.00000000000000000000 2 -16 -6 0 12 |
user output |
---|
4.0000000000000000000000000000... |
Test 14
Verdict: ACCEPTED
input |
---|
5 3 1 9 9 3 |
correct output |
---|
1.60000000000000000002 -3 0 -12 4 1 |
user output |
---|
1.6000000000000000000216840434... |
Test 15
Verdict: ACCEPTED
input |
---|
5 9 10 4 3 9 |
correct output |
---|
3.79999999999999999996 3 12 -4 0 -13 |
user output |
---|
3.7999999999999999999566319131... |
Test 16
Verdict: ACCEPTED
input |
---|
5 1 3 8 4 5 |
correct output |
---|
1.79999999999999999996 0 -3 5 1 -8 |
user output |
---|
1.7999999999999999999566319131... |
Test 17
Verdict: ACCEPTED
input |
---|
5 9 1 10 3 9 |
correct output |
---|
2.79999999999999999996 1 0 10 -3 -12 |
user output |
---|
2.7999999999999999999566319131... |
Test 18
Verdict: ACCEPTED
input |
---|
5 1 4 6 5 5 |
correct output |
---|
2.20000000000000000004 0 -4 6 1 -9 |
user output |
---|
2.2000000000000000000433680868... |
Test 19
Verdict: ACCEPTED
input |
---|
10 6 6 8 9 7 9 6 9 5 7 |
correct output |
---|
12.50000000000000000000 -6 5 18 -28 11 26 -12 -37 0 -1... |
user output |
---|
12.500000000000000000000000000... |
Test 20
Verdict: ACCEPTED
input |
---|
10 5 10 8 10 1 2 4 10 2 3 |
correct output |
---|
6.30000000000000000017 -10 -20 7 15 0 -2 3 -30 1 -5 |
user output |
---|
6.3000000000000000001734723475... |
Test 21
Verdict: ACCEPTED
input |
---|
10 5 2 1 10 6 10 5 5 5 4 |
correct output |
---|
7.00000000000000000000 -7 -2 0 15 -18 -28 5 -12 10 1 |
user output |
---|
7.0000000000000000000000000000... |
Test 22
Verdict: ACCEPTED
input |
---|
10 6 1 8 9 3 2 6 6 9 5 |
correct output |
---|
7.40000000000000000009 4 0 -21 16 1 -2 -13 10 -30 -7 |
user output |
---|
7.4000000000000000000867361737... |
Test 23
Verdict: ACCEPTED
input |
---|
10 10 10 6 2 10 9 8 7 7 6 |
correct output |
---|
12.00000000000000000000 -31 24 -6 0 -41 15 -21 -13 8 2... |
user output |
---|
12.000000000000000000000000000... |
Test 24
Verdict: ACCEPTED
input |
---|
10 3 1 9 9 3 4 10 10 5 1 |
correct output |
---|
6.19999999999999999983 1 0 8 -18 -4 4 17 -28 -9 -1 |
user output |
---|
6.1999999999999999998265276524... |
Test 25
Verdict: ACCEPTED
input |
---|
10 9 10 4 3 9 1 1 4 2 10 |
correct output |
---|
5.69999999999999999983 7 16 3 -4 -17 0 -1 -8 1 -27 |
user output |
---|
5.6999999999999999998265276524... |
Test 26
Verdict: ACCEPTED
input |
---|
10 1 3 8 4 5 10 8 5 10 4 |
correct output |
---|
7.59999999999999999991 0 -3 10 1 5 18 -20 -12 -30 -7 |
user output |
---|
7.5999999999999999999132638262... |
Test 27
Verdict: ACCEPTED
input |
---|
10 9 1 10 3 9 4 6 9 3 5 |
correct output |
---|
7.69999999999999999983 9 0 -32 -3 -22 -7 -13 18 1 4 |
user output |
---|
7.6999999999999999998265276524... |
Test 28
Verdict: ACCEPTED
input |
---|
10 1 4 6 5 5 1 2 4 2 1 |
correct output |
---|
3.79999999999999999996 0 -7 -18 -12 8 -1 -3 4 2 1 |
user output |
---|
3.7999999999999999999566319131... |
Test 29
Verdict: ACCEPTED
input |
---|
100 5489 5929 7152 8443 6028 8580 ... |
correct output |
---|
90964.29999999999999715783 74284 85458 -146606 -202043 -9... |
user output |
---|
90964.299999999999997157829056... Truncated |
Test 30
Verdict: ACCEPTED
input |
---|
100 4171 9972 7204 9326 2 1282 302... |
correct output |
---|
77339.28000000000000113687 -46232 232616 121562 204215 0 ... |
user output |
---|
77339.280000000000001136868377... Truncated |
Test 31
Verdict: ACCEPTED
input |
---|
100 4360 1851 260 9316 5497 9478 4... |
correct output |
---|
80065.90999999999999658939 51373 -12220 0 -211309 -103085... |
user output |
---|
80065.909999999999996589394868... Truncated |
Test 32
Verdict: ACCEPTED
input |
---|
100 5508 708 7082 8400 2910 1214 5... |
correct output |
---|
76412.04999999999999715783 -86475 -1562 -143221 178008 22... |
user output |
---|
76412.049999999999997157829056... Truncated |
Test 33
Verdict: ACCEPTED
input |
---|
100 9671 9007 5473 1727 9727 8557 ... |
correct output |
---|
75971.21000000000000085265 219259 -195663 -73901 -7740 -2... |
user output |
---|
75971.210000000000000852651282... Truncated |
Test 34
Verdict: ACCEPTED
input |
---|
100 2220 552 8708 8314 2068 3638 9... |
correct output |
---|
81504.38000000000000255795 12702 305 -191060 -173918 -134... |
user output |
---|
81504.380000000000002557953848... Truncated |
Test 35
Verdict: ACCEPTED
input |
---|
100 8929 9475 3320 2095 8213 643 4... |
correct output |
---|
98091.53000000000000113687 227425 245627 15038 -6688 1939... |
user output |
---|
98091.530000000000001136868377... Truncated |
Test 36
Verdict: ACCEPTED
input |
---|
100 764 2274 7800 3190 4385 9783 7... |
correct output |
---|
82178.84000000000000341061 820 9379 154555 28537 -63825 2... |
user output |
---|
82178.840000000000003410605131... Truncated |
Test 37
Verdict: ACCEPTED
input |
---|
100 8735 112 9686 2395 8692 3776 5... |
correct output |
---|
73656.57000000000000028422 175588 0 -216288 12508 166896 ... |
user output |
---|
73656.570000000000000284217094... Truncated |
Test 38
Verdict: ACCEPTED
input |
---|
100 104 3645 5019 4992 4958 76 133... |
correct output |
---|
82840.71000000000000085265 -104 -29264 62129 -65004 -6001... |
user output |
---|
82840.710000000000000852651282... Truncated |
Test 39
Verdict: ACCEPTED
input |
---|
200 5489 5929 7152 8443 6028 8580 ... |
correct output |
---|
166400.76999999999999602096 -146741 171881 274870 360976 -... |
user output |
---|
166400.76999999999999602096067... Truncated |
Test 40
Verdict: ACCEPTED
input |
---|
200 4171 9972 7204 9326 2 1282 302... |
correct output |
---|
164587.05500000000000682121 83173 489533 258918 432607 0 -... |
user output |
---|
164587.05500000000000682121026... Truncated |
Test 41
Verdict: ACCEPTED
input |
---|
200 4360 1851 260 9316 5497 9478 4... |
correct output |
---|
176382.93500000000000227374 104099 14060 -391 424478 17846... |
user output |
---|
176382.93500000000000227373675... Truncated |
Test 42
Verdict: ACCEPTED
input |
---|
200 5508 708 7082 8400 2910 1214 5... |
correct output |
---|
165621.71500000000000341061 -168224 2093 -283295 -385009 -... |
user output |
---|
165621.71500000000000341060513... Truncated |
Test 43
Verdict: ACCEPTED
input |
---|
200 9671 9007 5473 1727 9727 8557 ... |
correct output |
---|
164854.96999999999999886313 -486476 -402225 -147610 14229 ... |
user output |
---|
164854.96999999999999886313162... Truncated |
Test 44
Verdict: ACCEPTED
input |
---|
200 2220 552 8708 8314 2068 3638 9... |
correct output |
---|
159013.25499999999999545253 -28043 -2011 -367612 320831 -2... |
user output |
---|
159013.25499999999999545252649... Truncated |
Test 45
Verdict: ACCEPTED
input |
---|
200 8929 9475 3320 2095 8213 643 4... |
correct output |
---|
180212.19499999999999317879 440079 467630 43360 16831 3722... |
user output |
---|
180212.19499999999999317878973... Truncated |
Test 46
Verdict: ACCEPTED
input |
---|
200 764 2274 7800 3190 4385 9783 7... |
correct output |
---|
175529.90500000000000113687 1331 -20024 -325526 -53408 105... |
user output |
---|
175529.90500000000000113686837... Truncated |
Test 47
Verdict: ACCEPTED
input |
---|
200 8735 112 9686 2395 8692 3776 5... |
correct output |
---|
160654.71999999999999886313 389155 84 453551 -27233 380463... |
user output |
---|
160654.71999999999999886313162... Truncated |
Test 48
Verdict: ACCEPTED
input |
---|
200 104 3645 5019 4992 4958 76 133... |
correct output |
---|
146407.72499999999999431566 122 63279 -137066 -132047 1197... |
user output |
---|
146407.72499999999999431565811... Truncated |
Test 49
Verdict: ACCEPTED
input |
---|
1000 5489 5929 7152 8443 6028 8580 ... |
correct output |
---|
840008.18000000000000682121 -764408 904918 1312990 1746927... |
user output |
---|
840008.18000000000000682121026... Truncated |
Test 50
Verdict: ACCEPTED
input |
---|
1000 4171 9972 7204 9326 2 1282 302... |
correct output |
---|
818012.93400000000002592060 -406505 2466614 1257269 -21919... |
user output |
---|
818012.93400000000002592059900... Truncated |
Test 51
Verdict: ACCEPTED
input |
---|
1000 4360 1851 260 9316 5497 9478 4... |
correct output |
---|
818259.27699999999998681233 -516965 80832 -1883 -2122912 -... |
user output |
---|
818259.27699999999998681232682... Truncated |
Test 52
Verdict: ACCEPTED
input |
---|
1000 5508 708 7082 8400 2910 1214 5... |
correct output |
---|
839290.37500000000000000000 -796386 -13946 -1289360 179611... |
user output |
---|
839290.37500000000000000000000... Truncated |
Test 53
Verdict: ACCEPTED
input |
---|
1000 9671 9007 5473 1727 9727 8557 ... |
correct output |
---|
844107.27100000000001500666 -2394719 -2010910 724866 70575... |
user output |
---|
844107.27100000000001500666257... Truncated |
Test 54
Verdict: ACCEPTED
input |
---|
1000 2220 552 8708 8314 2068 3638 9... |
correct output |
---|
835171.67200000000002546585 133449 -6862 1892059 1722315 -... |
user output |
---|
835171.67200000000002546585164... Truncated |
Test 55
Verdict: ACCEPTED
input |
---|
1000 8929 9475 3320 2095 8213 643 4... |
correct output |
---|
835138.72399999999998954081 -2011744 -2279148 281221 99917... |
user output |
---|
835138.72399999999998954081092... Truncated |
Test 56
Verdict: ACCEPTED
input |
---|
1000 764 2274 7800 3190 4385 9783 7... |
correct output |
---|
848301.93200000000001637090 -14894 118956 -1506857 248380 ... |
user output |
---|
848301.93200000000001637090463... Truncated |
Test 57
Verdict: ACCEPTED
input |
---|
1000 8735 112 9686 2395 8692 3776 5... |
correct output |
---|
847855.73500000000001364242 1927512 -484 2330822 -127377 1... |
user output |
---|
847855.73500000000001364242052... Truncated |
Test 58
Verdict: ACCEPTED
input |
---|
1000 104 3645 5019 4992 4958 76 133... |
correct output |
---|
810879.10199999999997544364 301 -339312 595743 -593370 -58... |
user output |
---|
810879.10199999999997544364305... Truncated |
Test 59
Verdict: ACCEPTED
input |
---|
10000 5489 5929 7152 8443 6028 8580 ... |
correct output |
---|
8331009.38110000000006039045 -7532183 -8853774 -12749000 17... |
user output |
---|
8331009.3811000000000603904481... Truncated |
Test 60
Verdict: ACCEPTED
input |
---|
20000 4171 9972 7204 9326 2 1282 302... |
correct output |
---|
16658676.70185000000037689460 8541215 49696242 25988233 -434... |
user output |
---|
16658676.701850000000376894604... Truncated |
Test 61
Verdict: ACCEPTED
input |
---|
30000 4360 1851 260 9316 5497 9478 4... |
correct output |
---|
24632928.08096666666642704513 -14426863 2611798 -51623 64662... |
user output |
---|
24632928.080966666666427045129... Truncated |
Test 62
Verdict: ACCEPTED
input |
---|
40000 5508 708 7082 8400 2910 1214 5... |
correct output |
---|
33326404.51449999999931605998 -30490967 -487438 50172328 -70... |
user output |
---|
33326404.514499999999316059984... Truncated |
Test 63
Verdict: ACCEPTED
input |
---|
50000 9671 9007 5473 1727 9727 8557 ... |
correct output |
---|
41484606.27734000000054948032 -116431190 -100635342 -3704371... |
user output |
---|
41484606.277340000000549480319... Truncated |
Test 64
Verdict: ACCEPTED
input |
---|
60000 2220 552 8708 8314 2068 3638 9... |
correct output |
---|
50232303.87408333333223708905 -7383738 457586 113865513 -103... |
user output |
---|
50232303.874083333332237089052... Truncated |
Test 65
Verdict: ACCEPTED
input |
---|
70000 8929 9475 3320 2095 8213 643 4... |
correct output |
---|
58260491.75067142857005819678 139575995 157314744 -19542802 ... |
user output |
---|
58260491.750671428570058196783... Truncated |
Test 66
Verdict: ACCEPTED
input |
---|
80000 764 2274 7800 3190 4385 9783 7... |
correct output |
---|
66643139.94197500000154832378 1177857 10380346 121430523 -20... |
user output |
---|
66643139.941975000001548323780... Truncated |
Test 67
Verdict: ACCEPTED
input |
---|
90000 8735 112 9686 2395 8692 3776 5... |
correct output |
---|
74463534.82334444444131804630 -171236562 -29702 210138045 -1... |
user output |
---|
74463534.823344444441318046301... Truncated |
Test 68
Verdict: ACCEPTED
input |
---|
100000 104 3645 5019 4992 4958 76 133... |
correct output |
---|
82963443.71772999999666353688 26440 33439343 63119570 -62451... |
user output |
---|
82963443.717729999996663536876... Truncated |
Test 69
Verdict: ACCEPTED
input |
---|
100000 976 4305 7613 4128 2470 7154 1... |
correct output |
---|
83235638.46863999999914085492 -2384099 45948507 -144556931 -... |
user output |
---|
83235638.468639999999140854924... Truncated |
Test 70
Verdict: ACCEPTED
input |
---|
100000 8638 8006 2850 3465 733 9701 7... |
correct output |
---|
83651432.57076999999844701961 186889656 -160231991 -20196945... |
user output |
---|
83651432.570769999998447019606... Truncated |
Test 71
Verdict: ACCEPTED
input |
---|
100000 5469 57 7980 8100 8205 3669 12... |
correct output |
---|
83502401.06205000000045401976 -74695780 8161 159486994 16411... |
user output |
---|
83502401.062050000000454019755... Truncated |
Test 72
Verdict: ACCEPTED
input |
---|
100000 3010 4738 2471 7615 9264 1943 ... |
correct output |
---|
83298361.61656999999831896275 22603055 -56087580 -15138325 1... |
user output |
---|
83298361.616569999998318962752... Truncated |