CSES - Harjoituskisa 7.1.2018 - Results
Submission details
Task:Inversiot
Sender:inv41idu53rn4m3
Submission time:2018-01-07 19:53:14 +0200
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED11
#2ACCEPTED35
#3ACCEPTED54
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.06 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.05 s1details
#5ACCEPTED0.03 s1details
#6ACCEPTED0.04 s2details
#7ACCEPTED0.04 s2details
#8ACCEPTED0.04 s2details
#9ACCEPTED0.05 s2details
#10ACCEPTED0.04 s2details
#11ACCEPTED0.14 s3details
#12ACCEPTED0.14 s3details
#13ACCEPTED0.14 s3details
#14ACCEPTED0.16 s3details
#15ACCEPTED0.16 s3details

Code

#include <iostream>

using namespace std;

int main() {
    long n, k;
    cin >> n >> k;
    long c = 0, m = n;
    long l = 0;
    while (c < k) {
        if (c + m - 1 <= k) {
            m--;
            c += m;
        } else {
            l = k - c + 1;
            c = k;
        }
    }
    for (long i = 1; i <= n; i++) {
        long a;
        if (l > i) a = i + n - m + 1;
        else if (l == i) a = n - m + 1;
        else if (i > m) a = n - i + 1;
        else a = i + n - m;
        cout << a << " ";
    }
    cout << endl;
    return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
5 0

correct output
1 2 3 4 5 

user output
1 2 3 4 5 

Test 2

Group: 1

Verdict: ACCEPTED

input
5 1

correct output
2 1 3 4 5 

user output
2 1 3 4 5 

Test 3

Group: 1

Verdict: ACCEPTED

input
5 2

correct output
3 1 2 4 5 

user output
2 3 1 4 5 

Test 4

Group: 1

Verdict: ACCEPTED

input
5 4

correct output
5 1 2 3 4 

user output
2 3 4 5 1 

Test 5

Group: 1

Verdict: ACCEPTED

input
5 10

correct output
5 4 3 2 1 

user output
5 4 3 2 1 

Test 6

Group: 2

Verdict: ACCEPTED

input
100 0

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 7

Group: 2

Verdict: ACCEPTED

input
100 1

correct output
2 1 3 4 5 6 7 8 9 10 11 12 13 ...

user output
2 1 3 4 5 6 7 8 9 10 11 12 13 ...

Test 8

Group: 2

Verdict: ACCEPTED

input
100 990

correct output
100 99 98 97 96 95 94 93 92 91...

user output
12 13 14 15 16 17 18 19 20 21 ...

Test 9

Group: 2

Verdict: ACCEPTED

input
100 1980

correct output
100 99 98 97 96 95 94 93 92 91...

user output
24 25 26 27 28 29 30 31 32 33 ...

Test 10

Group: 2

Verdict: ACCEPTED

input
100 4950

correct output
100 99 98 97 96 95 94 93 92 91...

user output
100 99 98 97 96 95 94 93 92 91...

Test 11

Group: 3

Verdict: ACCEPTED

input
1000000 0

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 12

Group: 3

Verdict: ACCEPTED

input
1000000 1

correct output
2 1 3 4 5 6 7 8 9 10 11 12 13 ...

user output
2 1 3 4 5 6 7 8 9 10 11 12 13 ...

Test 13

Group: 3

Verdict: ACCEPTED

input
1000000 99999900000

correct output
1000000 999999 999998 999997 9...

user output
105574 105575 105576 105577 10...

Test 14

Group: 3

Verdict: ACCEPTED

input
1000000 199999800000

correct output
1000000 999999 999998 999997 9...

user output
225405 225406 225407 225408 22...

Test 15

Group: 3

Verdict: ACCEPTED

input
1000000 499999500000

correct output
1000000 999999 999998 999997 9...

user output
1000000 999999 999998 999997 9...