CSES - Putka Open 2015 – 1/6 - Results
Submission details
Task:Aita
Sender:
Submission time:2015-07-19 15:38:43 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.08 s1details
#2ACCEPTED0.08 s1details
#30.08 s1details
#4ACCEPTED0.09 s1details
#50.09 s1details
#60.09 s2details
#70.09 s2details
#8ACCEPTED0.09 s2details
#9ACCEPTED0.09 s2details
#100.09 s2details
#110.09 s3details
#120.09 s3details
#13ACCEPTED0.10 s3details
#140.09 s3details
#15ACCEPTED0.09 s3details

Compiler report

input/code.cpp: In function 'int main(int, char**)':
input/code.cpp:12:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d", &n, &k);
                           ^

Code

#include <stdio.h>

int A[500000];
#define ABS(a) ((a < 0) ? -(a): (a))

int main(int argc, char *argv[])
{
    int n, k;
    int i, j, m;


    scanf("%d %d", &n, &k);


    for (i = 0, m = n % (2*k); i < m; i++) {
        if (i % 2) {
            A[m-i-1] = n-(m-i+1)/2;
        } else {
            A[m-i-1] = i/2;
        }
    }
    for (i = 1; i < m; i++) {
        if (ABS(A[i]-A[i-1]) < k)
            goto gtfo;
    }

    while (i < n) {
        for (j = 0; j < k; j++) {
            A[i+2*j] = i+j+k- m/2;
            A[i+2*j+1] = i+j- m/2;
            if (ABS(A[i+2*j+1] - A[i+2*j]) < k) {
            }
        }
        i += 2 * k;
    }
    for (i = 0; i < n; i++)
        printf((i < n-1) ? "%d " : "%d\n", A[i]+1);

    return 0;
gtfo:
    puts("QAQ");
    return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
2 2

correct output
QAQ

user output
QAQ

Test 2

Group: 1

Verdict: ACCEPTED

input
3 2

correct output
QAQ

user output
QAQ

Test 3

Group: 1

Verdict:

input
4 2

correct output
3 1 4 2 

user output
1 4 2 5

Test 4

Group: 1

Verdict: ACCEPTED

input
7 4

correct output
QAQ

user output
QAQ

Test 5

Group: 1

Verdict:

input
8 4

correct output
5 1 6 2 7 3 8 4 

user output
1 6 2 7 3 8 4 9

Test 6

Group: 2

Verdict:

input
80476 2

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

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

Test 7

Group: 2

Verdict:

input
68652 2

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

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

Test 8

Group: 2

Verdict: ACCEPTED

input
62735 2

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

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

Test 9

Group: 2

Verdict: ACCEPTED

input
71954 2

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

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

Test 10

Group: 2

Verdict:

input
4 2

correct output
3 1 4 2 

user output
1 4 2 5

Test 11

Group: 3

Verdict:

input
89814 3

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

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

Test 12

Group: 3

Verdict:

input
91140 5

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

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

Test 13

Group: 3

Verdict: ACCEPTED

input
66703 16675

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

user output
2 66703 1 16678 3 16679 4 1668...

Test 14

Group: 3

Verdict:

input
66666 33333

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

user output
1 33335 2 33336 3 33337 4 3333...

Test 15

Group: 3

Verdict: ACCEPTED

input
66666 33334

correct output
QAQ

user output
QAQ