QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#838765#9920. Money Game 2tarjenWA 218ms14916kbC++201.7kb2024-12-31 21:23:252024-12-31 21:23:27

Judging History

This is the latest submission verdict.

  • [2024-12-31 22:17:02]
  • hack成功,自动添加数据
  • (/hack/1322)
  • [2024-12-31 21:57:13]
  • hack成功,自动添加数据
  • (/hack/1321)
  • [2024-12-31 21:23:27]
  • Judged
  • Verdict: WA
  • Time: 218ms
  • Memory: 14916kb
  • [2024-12-31 21:23:25]
  • Submitted

answer

#include <bits/stdc++.h>
using namespace std;

template <typename T1, typename T2>
ostream &operator<<(ostream &out, pair<T1, T2> p)
{
    out << "(" << p.first << "," << p.second << ")";
    return out;
}

template <typename T>
ostream &operator<<(ostream &out, vector<T> v)
{
    out << "[";
    if (!v.empty())
        out << v[0];
    for (int i = 1; i < (int)v.size(); ++i)
        out << "," << v[i];
    out << "]";
    return out;
}

#define int long long

void solve()
{
    int n;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    auto pre = [&](int x)
    {
        return x == 0 ? n - 1 : x - 1;
    };
    auto nxt = [&](int x)
    {
        return x == n - 1 ? 0 : x + 1;
    };
    vector<int> ans(n);
    vector<int> g;
    if (n <= 80)
    {
        g = vector<int>(n);
        iota(g.begin(), g.end(), 0);
    }
    else
    {
        int T = 100;
        while (T--)
        {
            g.push_back(rand() % n);
        }
    }
    for (auto mid : g)
    {
        vector<int> p(n);
        for (int i = mid, now = 0, tt = 0; tt < n; i = pre(i), tt++)
        {
            now /= 2;
            now += a[i];
            p[i] += now;
        }
        for (int i = nxt(mid), now = 0, tt = 0; tt < n; i = nxt(i), tt++)
        {
            now /= 2;
            now += a[i];
            p[i] += now;
        }
        for (int i = 0; i < n; i++)
            ans[i] = max(ans[i], p[i] - a[i]);
    }
    for (int i = 0; i < n; i++)
        cout << ans[i] << " \n"[i == n - 1];
}
signed main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int T;
    cin >> T;
    while (T--)
        solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

3
5
2 1 4 3 5
5
2 1 3 1 2
1
1000000000

output:

6 5 7 8 8
4 4 5 4 4
1000000000

result:

ok 11 numbers

Test #2:

score: 0
Accepted
time: 0ms
memory: 3524kb

input:

1
10
8 15 18 15 13 4 14 4 17 5

output:

30 37 41 39 34 27 29 26 31 27

result:

ok 10 numbers

Test #3:

score: 0
Accepted
time: 1ms
memory: 3604kb

input:

1000
4
8 9 7 9
1
9
1
10
2
3 9
3
4 3 2
4
0 4 3 1
4
10 8 4 6
1
9
1
4
4
10 10 1 6
1
9
1
0
2
4 6
4
8 1 6 7
2
5 10
4
9 2 1 4
3
5 5 9
3
9 8 9
4
4 8 5 6
2
10 1
1
7
3
9 2 4
4
2 4 1 2
3
5 2 1
1
4
3
2 0 9
4
7 3 10 1
3
4 1 2
2
6 4
1
2
3
3 1 5
3
5 8 4
2
9 3
4
5 9 10 3
4
6 5 4 0
1
6
4
3 1 10 1
4
1 9 5 7
4
8 1 6 ...

output:

18 18 17 18
9
10
7 10
6 6 5
3 5 5 3
18 16 13 15
9
4
18 17 11 14
9
0
7 8
13 9 11 14
10 12
12 7 6 9
11 11 13
17 16 17
12 14 13 12
10 6
7
12 8 9
5 6 4 4
6 4 4
4
6 5 10
11 11 13 10
5 4 4
8 7
2
5 4 6
11 12 10
10 7
13 17 16 12
9 10 8 6
6
6 7 11 7
9 13 12 11
14 10 12 16
18 15 18 19
5
11 13
4 4 6 7
12 14 13...

result:

ok 2420 numbers

Test #4:

score: 0
Accepted
time: 0ms
memory: 3532kb

input:

1000
2
45733740 736448710
1
384264719
4
658671808 379716865 553196572 534986092
1
668964623
4
711670857 237459905 849354895 187613938
2
394629064 371184128
2
616819808 937720703
1
43217931
3
934395080 888433507 810476236
1
587663687
2
542163302 508453558
4
313836277 584869499 445629251 225398284
4
2...

output:

413958095 759315580
384264719
1254322429 1119397578 1175216002 1235849498
668964623
1136546502 1064876265 1239809530 1027491789
580221128 568498660
1085680159 1246130607
43217931
1783849951 1760869165 1721890529
587663687
796390081 779535209
830377481 1020951833 929222211 751348422
704770986 7551365...

result:

ok 2440 numbers

Test #5:

score: -100
Wrong Answer
time: 218ms
memory: 14916kb

input:

1
500000
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...

output:

4 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

result:

wrong answer 184236th numbers differ - expected: '353014366', found: '353014365'