QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#604683#8242. V-DiagramDoubeecatWA 108ms3980kbC++141.7kb2024-10-02 13:08:272024-10-02 13:08:27

Judging History

你现在查看的是最新测评结果

  • [2024-10-02 13:08:27]
  • 评测
  • 测评结果:WA
  • 用时:108ms
  • 内存:3980kb
  • [2024-10-02 13:08:27]
  • 提交

answer

/*
Undo the destiny.
*/
#include <algorithm>
#include <iostream>
#include <iomanip>
#include <cstring>
#include <cstdio>
#include <cctype>
#include <vector>
#include <cmath>
#include <queue>
using namespace std;
#define ll long long
#define FO(x) {freopen(#x".in","r",stdin);freopen(#x".out","w",stdout);}
#define pii pair<int,int>
#define mp make_pair

char buf[1 << 20], *p1, *p2;
#define getchar() (p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 1 << 20, stdin), p1 == p2)?EOF: *p1++)
template <typename T> inline void read(T &t) {
    int v = getchar();T f = 1;t = 0;
    while (!isdigit(v)) {if (v == '-')f = -1;v = getchar();}
    while (isdigit(v)) {t = t * 10 + v - 48;v = getchar();}
    t *= f;
}
template <typename T,typename... Args> inline void read(T &t,Args&... args) {
    read(t);read(args...);
}

const ll mod = 998244353;
const double eps = 1e-10;
const int N = 3e5 + 10;
double a[N];
void solve() {
    int n;cin >> n;
    double ans = 0,lst = 0;
    int pos = 0;
    for (int i = 1;i <= n;++i) {
        cin >> a[i];
        ans += a[i];
        if (lst < a[i]) {
            pos = i-1;
        }
        lst = a[i];
    }
    double val1 = a[pos-1],val2 = a[pos + 1];
    double ans1 = val1 + val2 + a[pos],cnt1 = 3,ans2 = val1 + val2 + a[pos],cnt2 = 3;
    for (int i = 1;i < pos - 1;++i) {
        ans1 += a[i];
        ++cnt1;
    }
    ans1 /= cnt1;
    for (int i = pos + 2;i <= n;++i) {
        ans2 += a[i];
        ++cnt2;
    }
    ans2 /= cnt2;
    ans /= n;
    cout << fixed << setprecision(20) << max(ans,max(ans1,ans2)) << "\n";
}


signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    int T;cin >> T;
    while (T--) solve();
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3904kb

input:

2
4
8 2 7 10
6
9 6 5 3 4 8

output:

6.75000000000000000000
5.83333333333333303727

result:

ok 2 numbers

Test #2:

score: 0
Accepted
time: 108ms
memory: 3980kb

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.66666662693023681641
435670789.66666668653488159180
770302316.66666662693023681641
608562705.00000000000000000000
296293261.66666668653488159180
319149416.33333331346511840820
571816312.66666662693023681641
223646002.33333334326744079590
39407315.66666666418313980103
383253737.666666686534...

result:

ok 100000 numbers

Test #3:

score: -100
Wrong Answer
time: 44ms
memory: 3812kb

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:

280182720.66666668653488159180
971673720.33333337306976318359
729761539.66666662693023681641
963950546.33333337306976318359
630796860.33333337306976318359
642159163.00000000000000000000
964329404.00000000000000000000
254833443.19999998807907104492
870415123.66666662693023681641
908181856.66666662693...

result:

wrong answer 1st numbers differ - expected: '258668002.7500000', found: '280182720.6666667', error = '0.0831750'