Task: | Jakkara |
Sender: | |
Submission time: | 2015-07-18 18:52:44 +0300 |
Language: | C++ |
Status: | READY |
Result: | 25 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | ACCEPTED | 25 |
#3 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.08 s | 1 | details |
#2 | WRONG ANSWER | 0.08 s | 1 | details |
#3 | WRONG ANSWER | 0.08 s | 1 | details |
#4 | ACCEPTED | 0.09 s | 1 | details |
#5 | ACCEPTED | 0.08 s | 1 | details |
#6 | ACCEPTED | 0.09 s | 2 | details |
#7 | ACCEPTED | 0.08 s | 2 | details |
#8 | ACCEPTED | 0.09 s | 2 | details |
#9 | ACCEPTED | 0.08 s | 2 | details |
#10 | ACCEPTED | 0.08 s | 2 | details |
#11 | TIME LIMIT EXCEEDED | -- | 3 | details |
#12 | WRONG ANSWER | 0.07 s | 3 | details |
#13 | TIME LIMIT EXCEEDED | -- | 3 | details |
#14 | TIME LIMIT EXCEEDED | -- | 3 | details |
#15 | ACCEPTED | 0.09 s | 3 | details |
Code
#include <iostream> #include <cmath> using namespace std; long long a, b, c, d; long long chg(long long v) { return abs(a-v)+abs(b-v)+abs(c-v)+abs(d-v); } int main(int argc, char const *argv[]) { cin >> a; cin >> b; cin >> c; cin >> d; long long mn = a; long long mx = a; if (b < mn) {mn = b;} if (c < mn) {mn = c;} if (d < mn) {mn = d;} if (b > mx) {mx = b;} if (c > mx) {mx = c;} if (d > mx) {mx = d;} if (mn == mx) { cout << 0 << endl; return 0; } long long res = chg(mn); long long tmp = 0; long long up = (mx+mn)/2; long long down = (mx+mn)/2-1; long long pres_up = -1; long long pres_down = -1; while (up != -1 && down != -1) { if (up != -1) { tmp = chg(up); if (tmp >= pres_up && pres_up!=-1) { up = -1; } else { pres_up = tmp; if (tmp < res) { res = tmp; } up++; if (up >= mx) { up = -1; } } } if (down != -1) { tmp = chg(down); if (tmp >= pres_down && pres_down!=-1) { down = -1; } else { pres_up = tmp; if (tmp < res) { res = tmp; } } down--; if (down <= mn) { down = -1; } } } cout << res << endl; return 0; }
Test details
Test 1
Group: 1
Verdict: ACCEPTED
input |
---|
2 4 2 1 |
correct output |
---|
3 |
user output |
---|
3 |
Test 2
Group: 1
Verdict: WRONG ANSWER
input |
---|
4 4 5 1 |
correct output |
---|
4 |
user output |
---|
6 |
Test 3
Group: 1
Verdict: WRONG ANSWER
input |
---|
1 3 3 3 |
correct output |
---|
2 |
user output |
---|
4 |
Test 4
Group: 1
Verdict: ACCEPTED
input |
---|
4 5 2 1 |
correct output |
---|
6 |
user output |
---|
6 |
Test 5
Group: 1
Verdict: ACCEPTED
input |
---|
1 2 3 4 |
correct output |
---|
4 |
user output |
---|
4 |
Test 6
Group: 2
Verdict: ACCEPTED
input |
---|
755 181 899 550 |
correct output |
---|
923 |
user output |
---|
923 |
Test 7
Group: 2
Verdict: ACCEPTED
input |
---|
415 158 928 660 |
correct output |
---|
1015 |
user output |
---|
1015 |
Test 8
Group: 2
Verdict: ACCEPTED
input |
---|
8 786 277 786 |
correct output |
---|
1287 |
user output |
---|
1287 |
Test 9
Group: 2
Verdict: ACCEPTED
input |
---|
740 537 892 1000 |
correct output |
---|
615 |
user output |
---|
615 |
Test 10
Group: 2
Verdict: ACCEPTED
input |
---|
805 794 799 591 |
correct output |
---|
219 |
user output |
---|
219 |
Test 11
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
918046201 377309798 763092200 ... |
correct output |
---|
753184325 |
user output |
---|
(empty) |
Test 12
Group: 3
Verdict: WRONG ANSWER
input |
---|
185264934 19222757 522094385 9... |
correct output |
---|
595938743 |
user output |
---|
741888867 |
Test 13
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
727047841 260674959 553589480 ... |
correct output |
---|
678802024 |
user output |
---|
(empty) |
Test 14
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
769070856 877861912 488304785 ... |
correct output |
---|
614008750 |
user output |
---|
(empty) |
Test 15
Group: 3
Verdict: ACCEPTED
input |
---|
1 1 1 1000000000 |
correct output |
---|
999999999 |
user output |
---|
999999999 |