CSES - Datatähti 2015 loppu - Results
Submission details
Task:Urkupillit
Sender:fergusq
Submission time:2015-01-29 17:09:40 +0200
Language:Java
Status:READY
Result:45
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED33
#30
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.03 s1details
#3ACCEPTED0.04 s1details
#4ACCEPTED0.04 s1details
#5ACCEPTED0.05 s1details
#6ACCEPTED0.04 s2details
#7ACCEPTED0.04 s2details
#8ACCEPTED0.04 s2details
#9ACCEPTED0.04 s2details
#10ACCEPTED0.05 s2details
#11ACCEPTED0.76 s3details
#12--3details
#130.11 s3details
#140.11 s3details
#15--3details

Code

import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
public class Urut {
/*public static void main(String[] args) {
IO io = new IO();
int n = io.nextInt();
int k = io.nextInt();
int mitta = k > n ? n/4+n/2 : n;
int montako = k/mitta;
int plus = k%mitta;
int[] urut = new int[n];
System.err.println(montako + " " + plus + " (" + mitta + ") ");
int skip = 0, j = montako+1;
for (int i = n; i > 0; i--) {
System.err.print(i);
if ((i>=mitta+2&&i<=mitta+1+montako)||i==plus+1) {
skip++;
urut[i-1] = j--;
}
else urut[i-1] = i+skip;
System.err.println(" " + urut[i-1] + " (" + skip + ")");
}
for (int i = 0; i < n; i++) io.println(urut[i]);
io.close();
}*/
public static void main(String[] args) {
IO io = new IO();
int n = io.nextInt();
int k = (int)io.nextLong();
List<Integer> urut = new ArrayList<Integer>(n);
for (int i = 0; i < n; i++) urut.add(i+1);
if (k < n) {
int yks = urut.remove(0);
urut.add(k, yks);
}
else lbl: {
int yks = urut.remove(0);
int b = 0;
//while (true) {
int i = 2;
int j = i*(i-1)/2;
while (j < k) {
int joku = urut.remove(b+i-1);
urut.add(b, joku);
i++; j = i*(i-1)/2;
}
i--;
j = i*(i-1)/2;
//System.err.println("k: " + k + " j:" + j + " i:" + i + " b:" + b);
/*if (k-j < n-i-b) {
int yks = urut.remove(b+i+(k-j));
urut.add(b+i, yks);
break lbl;
}
else {
b = b+i;
k = k-j;
}*/
//}
urut.add(k-j, yks);
}
for (int i : urut) io.println(i);
io.close();
}
}

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 10

correct output
5 4 3 2 1 

user output
5
4
3
2
1

Test 3

Group: 1

Verdict: ACCEPTED

input
5 3

correct output
4 1 2 3 5 

user output
2
3
4
1
5

Test 4

Group: 1

Verdict: ACCEPTED

input
5 1

correct output
2 1 3 4 5 

user output
2
1
3
4
5

Test 5

Group: 1

Verdict: ACCEPTED

input
5 2

correct output
3 1 2 4 5 

user output
2
3
1
4
5

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

Test 7

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

Test 8

Group: 2

Verdict: ACCEPTED

input
100 2279

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

user output
69
1
68
67
66
...

Test 9

Group: 2

Verdict: ACCEPTED

input
100 2528

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

user output
72
71
70
69
68
...

Test 10

Group: 2

Verdict: ACCEPTED

input
100 4483

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

user output
96
95
94
93
92
...

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

Test 12

Group: 3

Verdict:

input
100000 4999950000

correct output
100000 99999 99998 99997 99996...

user output
(empty)

Test 13

Group: 3

Verdict:

input
100000 2969035543

correct output
100000 99999 99998 99997 99996...

user output
(empty)

Error:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: -1325931753, Size: 99999
	at java.util.ArrayList.rangeCheckForAdd(ArrayList.java:661)
	at java.util.ArrayList.add(ArrayList.java:473)
	at Urut.main(Urut.java:50)

Test 14

Group: 3

Verdict:

input
100000 2495939870

correct output
100000 99999 99998 99997 99996...

user output
(empty)

Error:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: -1799027426, Size: 99999
	at java.util.ArrayList.rangeCheckForAdd(ArrayList.java:661)
	at java.util.ArrayList.add(ArrayList.java:473)
	at Urut.main(Urut.java:50)

Test 15

Group: 3

Verdict:

input
100000 1279770330

correct output
100000 99999 99998 99997 99996...

user output
(empty)