Task: | Prinova |
Sender: | henrikaalto |
Submission time: | 2019-07-29 15:44:02 +0300 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 100 |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.01 s | details |
#2 | ACCEPTED | 0.01 s | details |
#3 | ACCEPTED | 0.01 s | details |
#4 | ACCEPTED | 0.01 s | details |
#5 | ACCEPTED | 0.01 s | details |
#6 | ACCEPTED | 0.01 s | details |
#7 | ACCEPTED | 0.01 s | details |
#8 | ACCEPTED | 0.01 s | details |
#9 | ACCEPTED | 0.01 s | details |
#10 | ACCEPTED | 0.01 s | details |
Code
#include<bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() using ii=long long; const ii inf = 1e9; int main() { ii n; cin >> n; vector<ii> v(n + 2); v[0] = -inf; for (ii i = 0; i < n; ++i) { cin >> v[i + 1]; } v.back() = inf; sort(all(v)); ii a, b; cin >> a >> b; pair<ii, ii> res; for (ii i = 1; i <= n + 1; ++i) { ii loc = max(a, (v[i] + v[i - 1]) / 2); loc = min(loc, b); assert(a <= loc); assert(loc <= b); for (ii j = -5; j <= 5; ++j) { loc += j; if (loc & 1 && a <= loc && loc <= b) { res = max(res, make_pair(min(loc - v[i - 1], v[i] - loc), loc)); } loc -= j; } } cout << res.second << "\n"; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
5
38 50 60 30 48 23 69 |
correct output |
---|
69 |
user output |
---|
69 |
Test 2
Verdict: ACCEPTED
input |
---|
5
12 10 50 24 40 9 16 |
correct output |
---|
15 |
user output |
---|
15 |
Test 3
Verdict: ACCEPTED
input |
---|
10
46 64 26 82 18 106 60 138 194 ... |
correct output |
---|
165 |
user output |
---|
167 |
Test 4
Verdict: ACCEPTED
input |
---|
20
114 48 86 180 176 66 126 194 5... |
correct output |
---|
99 |
user output |
---|
101 |
Test 5
Verdict: ACCEPTED
input |
---|
30
46 112 106 70 186 80 62 2 162 ... |
correct output |
---|
25 |
user output |
---|
123 |
Test 6
Verdict: ACCEPTED
input |
---|
50
7362 772 4354 5462 4924 5224 2... |
correct output |
---|
3953 |
user output |
---|
3953 |
Test 7
Verdict: ACCEPTED
input |
---|
67
7518 4798 5528 3806 7798 3396 ... |
correct output |
---|
6467 |
user output |
---|
6467 |
Test 8
Verdict: ACCEPTED
input |
---|
79
263044060 323471968 60083128 7... |
correct output |
---|
173959055 |
user output |
---|
173959057 |
Test 9
Verdict: ACCEPTED
input |
---|
99
412812216 39588698 618476302 2... |
correct output |
---|
2577535 |
user output |
---|
2577535 |
Test 10
Verdict: ACCEPTED
input |
---|
100
635179944 592614358 645156538 ... |
correct output |
---|
493216533 |
user output |
---|
493216533 |