CSES - Leirikisa 9.12.2021 - Results
Submission details
Task:Urkupillit
Sender:Totska
Submission time:2021-12-09 14:11:30 +0200
Language:C++ (C++17)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1details
#20.01 s1details
#3ACCEPTED0.01 s1details
#4ACCEPTED0.01 s1details
#5ACCEPTED0.01 s1details
#6ACCEPTED0.01 s2details
#70.01 s2details
#80.01 s2details
#90.01 s2details
#100.01 s2details
#11ACCEPTED0.02 s3details
#120.02 s3details
#130.02 s3details
#140.02 s3details
#150.02 s3details

Code

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
#define fr(o) for(ll z=0; z < o; z++)

ll n, k, big, i, maxinc;

vector<ll> l;

void move(ll x)
{
    l[i + (n-1-x)] = big;
    big--;

    ll dc = 0;

    for(ll j = i+n-1; j != i + (n-1-x); j--)
    {
        l[j] = big - dc;
        dc++;
    }
}

void movemax()
{
    l[i-1] = big;
    i--; big--;
}

int main()
{
    cin >> n >> k;

    i = n-1; big = n; 
    maxinc = n-1;

    l.resize(2*n - 1);

    for(ll z = 1; z < n+1; z++)
    {
        l[n-2 + z] = z;
    }

    while(k != 0)
    {
        if(k < maxinc){
            move(k);
            k = 0;
        }
        else{
            movemax();
            k -= maxinc;
            maxinc--;
        }
    }
    
    for (ll m = i; m < i+n; m++)
    {
        cout << l[m] << " ";
    }
    
    cout << endl;
}

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:

input
5 10

correct output
5 4 3 2 1 

user output
2 3 4 5 1 

Test 3

Group: 1

Verdict: ACCEPTED

input
5 3

correct output
4 1 2 3 5 

user output
1 5 2 3 4 

Test 4

Group: 1

Verdict: ACCEPTED

input
5 1

correct output
2 1 3 4 5 

user output
1 2 3 5 4 

Test 5

Group: 1

Verdict: ACCEPTED

input
5 2

correct output
3 1 2 4 5 

user output
1 2 5 3 4 

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

Test 7

Group: 2

Verdict:

input
100 4950

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

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

Test 8

Group: 2

Verdict:

input
100 2279

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

user output
75 76 77 78 79 80 81 82 83 84 ...
Truncated

Test 9

Group: 2

Verdict:

input
100 2528

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

user output
72 73 74 75 76 77 78 79 80 81 ...
Truncated

Test 10

Group: 2

Verdict:

input
100 4483

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

user output
33 34 35 36 37 38 39 40 41 42 ...
Truncated

Test 11

Group: 3

Verdict: ACCEPTED

input
100000 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 ...
Truncated

Test 12

Group: 3

Verdict:

input
100000 4999950000

correct output
100000 99999 99998 99997 99996...

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

Test 13

Group: 3

Verdict:

input
100000 2969035543

correct output
100000 99999 99998 99997 99996...

user output
63734 63735 63736 63737 63738 ...
Truncated

Test 14

Group: 3

Verdict:

input
100000 2495939870

correct output
100000 99999 99998 99997 99996...

user output
70769 70770 70771 70772 70773 ...
Truncated

Test 15

Group: 3

Verdict:

input
100000 1279770330

correct output
100000 99999 99998 99997 99996...

user output
86260 86261 86262 86263 86264 ...
Truncated