CSES - Putka Open 2015 – 1/6 - Results
Submission details
Task:Jakkara
Sender:
Submission time:2015-07-17 18:24:12 +0300
Language:C++
Status:READY
Result:21
Feedback
groupverdictscore
#1ACCEPTED21
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.09 s1details
#2ACCEPTED0.08 s1details
#3ACCEPTED0.09 s1details
#4ACCEPTED0.08 s1details
#5ACCEPTED0.08 s1details
#6ACCEPTED0.09 s2details
#7ACCEPTED0.08 s2details
#8ACCEPTED0.09 s2details
#9ACCEPTED0.08 s2details
#100.09 s2details
#110.08 s3details
#120.08 s3details
#13ACCEPTED0.09 s3details
#14ACCEPTED0.09 s3details
#15ACCEPTED0.08 s3details

Code

#include <iostream>
#include <algorithm>
#include <vector>
#include <set>

using namespace std;

int main()
{
    vector<long> v;
    set<long> s;
    long sum = 0;
    for (int i = 0; i < 4; i++) {
        long x;
        cin>>x;
        sum += x;
        s.insert(x);
        v.push_back(x);
    }

    sort(v.begin(), v.end());
    if (s.size() == 1) {
        cout<<0<<endl;
    } else if (s.size() == 2) {
        if (v[0] == v[1] && v[2] == v[3]) {
            cout<<2 * (v[2] - v[0])<<endl;
        } else {
            cout<<v[3] - v[0]<<endl;
        }
    } else if (s.size() == 3) {
        if (v[0] == v[1]) {
            cout<<v[2] - v[0] + v[3] - v[0]<<endl;
        } else if (v[2] == v[1]) {
            cout<<v[2] - v[0] + v[3] - v[2]<<endl;
        } else {
            cout<<v[2] - v[0] + v[2] - v[1]<<endl;
        }
    } else {
        long div = sum / 4;
        long ans = abs(v[0] - div) + abs(v[1] - div) + abs(v[2] - div) + abs(v[3] - div);
        div++;
        ans = min(ans, abs(v[0] - div) + abs(v[1] - div) + abs(v[2] - div) + abs(v[3] - div));
        cout<<ans<<endl;
    }
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
2 4 2 1

correct output
3

user output
3

Test 2

Group: 1

Verdict: ACCEPTED

input
4 4 5 1

correct output
4

user output
4

Test 3

Group: 1

Verdict: ACCEPTED

input
1 3 3 3

correct output
2

user output
2

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:

input
805 794 799 591

correct output
219

user output
311

Test 11

Group: 3

Verdict:

input
918046201 377309798 763092200 ...

correct output
753184325

user output
762374563

Test 12

Group: 3

Verdict:

input
185264934 19222757 522094385 9...

correct output
595938743

user output
634798821

Test 13

Group: 3

Verdict: ACCEPTED

input
727047841 260674959 553589480 ...

correct output
678802024

user output
678802024

Test 14

Group: 3

Verdict: ACCEPTED

input
769070856 877861912 488304785 ...

correct output
614008750

user output
614008750

Test 15

Group: 3

Verdict: ACCEPTED

input
1 1 1 1000000000

correct output
999999999

user output
999999999