CSES - Putka Open 2015 – 1/6 - Results
Submission details
Task:Aita
Sender:
Submission time:2015-07-19 22:58:21 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED17
#2ACCEPTED28
#3ACCEPTED55
Test results
testverdicttimegroup
#1ACCEPTED0.08 s1details
#2ACCEPTED0.09 s1details
#3ACCEPTED0.08 s1details
#4ACCEPTED0.08 s1details
#5ACCEPTED0.09 s1details
#6ACCEPTED0.10 s2details
#7ACCEPTED0.09 s2details
#8ACCEPTED0.10 s2details
#9ACCEPTED0.09 s2details
#10ACCEPTED0.08 s2details
#11ACCEPTED0.09 s3details
#12ACCEPTED0.09 s3details
#13ACCEPTED0.09 s3details
#14ACCEPTED0.08 s3details
#15ACCEPTED0.08 s3details

Code

#include <iostream>
#include <algorithm>
#include <climits>

using namespace std;

int main() {

    int n, k;
    cin >> n;
    cin >> k;

    int numGroups = 0;
    int groups[2*n];

    int numPlaced = 0;
    int next = 1;
    while (numPlaced < n) {
        if (next >= n) {
            cout << "QAQ" << endl;
        }
        int c = next;
        next = c+1;
        groups[2*numGroups] = c;
        for (int i = c; i <= n; i+=k) {
            ++numPlaced;
            groups[2*numGroups+1] = i;
        }
        
        ++numGroups;
    }

    int numPrinted = 0;
    int printed[n];

    for (int j = numGroups - 1; j >= 0; --j) {
        if (j > 0) {
            if (abs(groups[2*j+1] - groups[2*(j-1)]) < k) {
                cout << "QAQ" << endl;
                return 0;
            }
        }
        for (int i = groups[2*j]; i <= groups[2*j+1]; i+=k) {
            printed[numPrinted] = i;
            ++numPrinted;
        }
    }

    for (int i = 0; i < n; ++i) {
        cout << printed[i] << ' ';
    }
    cout << endl;

    return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
2 2

correct output
QAQ

user output
QAQ
QAQ

Test 2

Group: 1

Verdict: ACCEPTED

input
3 2

correct output
QAQ

user output
QAQ

Test 3

Group: 1

Verdict: ACCEPTED

input
4 2

correct output
3 1 4 2 

user output
2 4 1 3 

Test 4

Group: 1

Verdict: ACCEPTED

input
7 4

correct output
QAQ

user output
QAQ

Test 5

Group: 1

Verdict: ACCEPTED

input
8 4

correct output
5 1 6 2 7 3 8 4 

user output
4 8 3 7 2 6 1 5 

Test 6

Group: 2

Verdict: ACCEPTED

input
80476 2

correct output
40239 1 40240 2 40241 3 40242 ...

user output
2 4 6 8 10 12 14 16 18 20 22 2...

Test 7

Group: 2

Verdict: ACCEPTED

input
68652 2

correct output
34327 1 34328 2 34329 3 34330 ...

user output
2 4 6 8 10 12 14 16 18 20 22 2...

Test 8

Group: 2

Verdict: ACCEPTED

input
62735 2

correct output
31368 1 31369 2 31370 3 31371 ...

user output
2 4 6 8 10 12 14 16 18 20 22 2...

Test 9

Group: 2

Verdict: ACCEPTED

input
71954 2

correct output
35978 1 35979 2 35980 3 35981 ...

user output
2 4 6 8 10 12 14 16 18 20 22 2...

Test 10

Group: 2

Verdict: ACCEPTED

input
4 2

correct output
3 1 4 2 

user output
2 4 1 3 

Test 11

Group: 3

Verdict: ACCEPTED

input
89814 3

correct output
44908 1 44909 2 44910 3 44911 ...

user output
3 6 9 12 15 18 21 24 27 30 33 ...

Test 12

Group: 3

Verdict: ACCEPTED

input
91140 5

correct output
45571 1 45572 2 45573 3 45574 ...

user output
5 10 15 20 25 30 35 40 45 50 5...

Test 13

Group: 3

Verdict: ACCEPTED

input
66703 16675

correct output
33352 1 33353 2 33354 3 33355 ...

user output
16675 33350 50025 66700 16674 ...

Test 14

Group: 3

Verdict: ACCEPTED

input
66666 33333

correct output
33334 1 33335 2 33336 3 33337 ...

user output
33333 66666 33332 66665 33331 ...

Test 15

Group: 3

Verdict: ACCEPTED

input
66666 33334

correct output
QAQ

user output
QAQ