QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#234695#2528. Mobile RobotNYCU_gAwr_gurA#WA 0ms3872kbC++201.0kb2023-11-01 20:56:502023-11-01 20:56:50

Judging History

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

  • [2023-11-01 20:56:50]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3872kb
  • [2023-11-01 20:56:50]
  • 提交

answer

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

#ifdef DEBUG
#define fast
#else
#define fast cin.tie(0)->sync_with_stdio(0)
#define endl '\n'
#define cerr if(1);else cerr
#endif
#define _ <<' '<<
#define ALL(v) v.begin(),v.end()
#define ft first
#define sd second

using ll = long long;
using ld = long double;
using pii = pair<int,int>;

signed main() {
    fast;

    int n;
    ll d;
    cin >> n >> d;
    vector<ll> v(n);
    for (auto &x: v) cin >> x;

    d *= 100;
    for (auto &x: v) x *= 100;

    auto test = [&](ll m) {
        ll l = v[0] - m, r = v[0] + m;
        for (int i = 1; i < n; i++) {
            l = max(l+d, v[i]-m);
            r = min(r+d, v[i]+m);
            if (l > r)
                return false;
        }
        return l <= r;
    };

    ll l = 0, r = 3e16 * 100;
    while (l < r) {
        ll m = (l+r) / 2;
        if (test(m))
            r = m;
        else
            l = m+1;
    }

    int x = l % 10;
    if (x < 5)
        l -= x;
    else
        l += 10 - x;

    cout << l / 100 <<'.'<< l/10%10 << endl;

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3872kb

input:

2 1
-1 1

output:

0.5

result:

ok single line: '0.5'

Test #2:

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

input:

2 1
0 1

output:

0.0

result:

ok single line: '0.0'

Test #3:

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

input:

2 1
0 0

output:

0.5

result:

ok single line: '0.5'

Test #4:

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

input:

2 1
-10000000000000000 10000000000000000

output:

9999999999999999.5

result:

ok single line: '9999999999999999.5'

Test #5:

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

input:

2 10000000000
0 0

output:

5000000000.0

result:

ok single line: '5000000000.0'

Test #6:

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

input:

2 10000000000
-10000000000000000 10000000000000000

output:

9999995000000000.0

result:

ok single line: '9999995000000000.0'

Test #7:

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

input:

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

output:

0.0

result:

ok single line: '0.0'

Test #8:

score: -100
Wrong Answer
time: 0ms
memory: 3796kb

input:

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

output:

9.0

result:

wrong answer 1st lines differ - expected: '0.0', found: '9.0'