| 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 |
