CSES - Putka Open 2015 – 1/6 - Results
Submission details
Task:Aita
Sender:
Submission time:2015-07-19 01:26:25 +0300
Language:Java
Status:READY
Result:28
Feedback
groupverdictscore
#10
#2ACCEPTED28
#30
Test results
testverdicttimegroup
#1ACCEPTED0.24 s1details
#2ACCEPTED0.23 s1details
#3ACCEPTED0.25 s1details
#4ACCEPTED0.23 s1details
#50.21 s1details
#6ACCEPTED0.35 s2details
#7ACCEPTED0.32 s2details
#8ACCEPTED0.32 s2details
#9ACCEPTED0.33 s2details
#10ACCEPTED0.22 s2details
#11ACCEPTED0.37 s3details
#12ACCEPTED0.36 s3details
#13ACCEPTED0.34 s3details
#140.34 s3details
#15ACCEPTED0.33 s3details

Code

//package putka1.aita;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Scanner;
import java.util.TreeSet;
/**
*
* @author Adreno
*/
public class Putka1Aita {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int k = input.nextInt();
StringBuilder j = new StringBuilder("");
HashSet<Integer> keskiVasen = new HashSet<>();
HashSet<Integer> keskiOikea = new HashSet<>();
int v = (n/2) + 1 - (k+1) / 2;
int o = v + k;
double middlePoint = 1.00 * n / 2 + 1;
//System.out.println("midd" + middlePoint);
for (int i=v+1; i<middlePoint; i++) {
keskiVasen.add(i);
//System.out.println("Lisätään keskivasempaan " + i);
}
int ekaOikeal = n/2 + 1;
if (n % 2 != 0) ekaOikeal++;
for (int i=ekaOikeal; i<o; i++) {
keskiOikea.add(i);
//System.out.println("Lisätään keskioikeaan " + i);
}
//System.out.println("v=" + v + ", o=" + o);
int count = 0;
boolean oikealtaVasemmalle = true;
int viimesin = o; // jotta ensimmäinen siirto ois v
while (true) {
if (oikealtaVasemmalle) {
if (keskiVasen.remove(viimesin-k)) {
j.append((viimesin-k) + " ");
viimesin = viimesin-k;
} else {
if (v < 1) break;
j.append(v + " ");
viimesin = v;
v--;
}
oikealtaVasemmalle = false;
} else {
if (keskiOikea.remove(viimesin+k)) {
j.append((viimesin+k) + " ");
viimesin = viimesin+k;
}
else {
if (o > n) break;
j.append(o + " ");
viimesin = o;
o++;
}
oikealtaVasemmalle = true;
}
//System.out.println("SB: " + j);
count++;
}
if (n % 2 != 0 && (viimesin - (n/2 + 1) >= k)) {
j.append(n/2 + 1);
count++;
}
if (count < n) System.out.println("QAQ");
else System.out.println(j);
}
}
// public static void main(String[] args) {
// Scanner input = new Scanner(System.in);
// int n = input.nextInt();
// int k = input.nextInt();
// StringBuilder j = new StringBuilder("");
// int alottaja = k;
// int nykyinen = k;
// int count = 0;
// while (alottaja < 1+k) {
// while (nykyinen <= n) {
// j.append(nykyinen + " ");
// nykyinen += k;
// count++;
// }
// alottaja++;
// nykyinen = alottaja;
// }
// alottaja = k;
// while (alottaja > 1) {
// alottaja--;
// nykyinen = alottaja;
// while (nykyinen <= n) {
// j.append(nykyinen + " ");
// nykyinen += k;
// count++;
// }
// }
// if (count < n) System.out.println("QAQ");
// else System.out.println(j);
// }

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: 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:

input
8 4

correct output
5 1 6 2 7 3 8 4 

user output
QAQ

Test 6

Group: 2

Verdict: ACCEPTED

input
80476 2

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

user output
40238 40240 40237 40239 40236 ...

Test 7

Group: 2

Verdict: ACCEPTED

input
68652 2

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

user output
34326 34328 34325 34327 34324 ...

Test 8

Group: 2

Verdict: ACCEPTED

input
62735 2

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

user output
31367 31369 31366 31370 31368 ...

Test 9

Group: 2

Verdict: ACCEPTED

input
71954 2

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

user output
35977 35979 35976 35978 35975 ...

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
44906 44909 44905 44908 44904 ...

Test 12

Group: 3

Verdict: ACCEPTED

input
91140 5

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

user output
45568 45573 45567 45572 45566 ...

Test 13

Group: 3

Verdict: ACCEPTED

input
66703 16675

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

user output
25014 41689 25013 41688 25012 ...

Test 14

Group: 3

Verdict:

input
66666 33333

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

user output
QAQ

Test 15

Group: 3

Verdict: ACCEPTED

input
66666 33334

correct output
QAQ

user output
QAQ