QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#613082 | #8242. V-Diagram | klhwong# | WA | 76ms | 3880kb | C++17 | 1.9kb | 2024-10-05 13:32:33 | 2024-10-05 13:33:00 |
Judging History
answer
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int t, n, center;
ll a[300005];
ll temp, minA;
int main() {
ios::sync_with_stdio(0), cin.tie(0);
cin >> t;
while(t--) {
cin >> n;
minA = 1000000005;
for (int i = 0; i < n; i++) {
cin >> temp;
a[i] = temp;
if (a[i] < minA) {
minA = a[i];
center = i;
}
}
ll leftSum = a[center + 1];
ll rightSum = a[center - 1];
for (int i = center; i >= 0; i--) {
leftSum += a[i];
}
for (int i = center; i < n; i++) {
rightSum += a[i];
}
double leftAvg = 1.0 * leftSum / (center + 2);
double rightAvg = 1.0 * rightSum / (n - center + 2);
if (leftAvg > rightAvg) {
ll tempSum = leftSum;
ll cnt = center + 2;
double tempAvg = 0;
for (int i = center + 2; i < n; i++) {
tempSum += a[i];
cnt++;
tempAvg = 1.0 * tempSum / cnt;
if (tempAvg > leftAvg) {
leftAvg = tempAvg;
}
}
cout << fixed;
cout.precision(10);
cout << leftAvg << "\n";
} else {
ll tempSum = rightSum;
ll cnt = n - center + 2;
double tempAvg = 0;
for (int i = center - 2; i >= 0; i--) {
tempSum += a[i];
cnt++;
tempAvg = 1.0 * tempSum / cnt;
if (tempAvg > rightAvg) {
rightAvg = tempAvg;
}
}
cout << fixed;
cout.precision(10);
cout << rightAvg << "\n";
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3880kb
input:
2 4 8 2 7 10 6 9 6 5 3 4 8
output:
6.7500000000 5.8333333333
result:
ok 2 numbers
Test #2:
score: 0
Accepted
time: 76ms
memory: 3848kb
input:
100000 3 948511478 739365502 813471668 3 881046825 27458122 398507422 3 987554257 399092415 924260278 3 984128569 125199021 716360525 3 529589236 45783262 313507287 3 645443456 85994112 226010681 3 914820717 228360911 572267310 3 418958362 56703604 195276041 3 64461646 26764720 26995581 3 914535039 ...
output:
833782882.6666666269 435670789.6666666865 770302316.6666666269 608562705.0000000000 296293261.6666666865 319149416.3333333135 571816312.6666666269 223646002.3333333433 39407315.6666666642 383253737.6666666865 734363638.6666666269 779975824.3333333731 490276408.3333333135 574448414.0000000000 3379802...
result:
ok 100000 numbers
Test #3:
score: -100
Wrong Answer
time: 20ms
memory: 3840kb
input:
10000 4 194123849 79274911 191162487 570110764 86 957917218 915359202 914726017 873273226 867724859 867674150 809652204 805531383 745262007 743835491 727071232 714782071 645394643 639432679 594879540 587173904 583418126 560538589 518721836 469558994 427721766 411582333 404948350 402948978 357228675 ...
output:
206934402.1999999881 515659751.1739130616 495489050.3529411554 512422284.0487805009 472025965.6999999881 546154003.1250000000 543366581.5161290169 254833443.1999999881 408063285.7619047761 502458665.3846153617 564217787.3333333731 479468115.1182795763 455884997.5333333611 535309949.6875000000 537648...
result:
wrong answer 1st numbers differ - expected: '258668002.7500000', found: '206934402.2000000', error = '0.2000000'