CSES - NOI 2019 - Results
Submission details
Task:Thieves and Prisons
Sender:Theodor Risager
Submission time:2019-03-06 12:03:20 +0200
Language:Java
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
#50
Test results
testverdicttimegroup
#1ACCEPTED0.16 s2, 4, 5details
#2ACCEPTED0.16 s2, 4, 5details
#3ACCEPTED0.15 s2, 4, 5details
#40.16 s2, 4, 5details
#5ACCEPTED0.16 s2, 4, 5details
#60.16 s4, 5details
#70.16 s4, 5details
#8ACCEPTED0.16 s4, 5details
#90.16 s1, 3, 4, 5details
#10ACCEPTED0.15 s1, 3, 4, 5details
#110.15 s1, 3, 4, 5details
#120.15 s1, 3, 4, 5details
#13ACCEPTED0.15 s1, 3, 4, 5details
#14ACCEPTED0.16 s1, 3, 4, 5details
#150.15 s1, 3, 4, 5details
#16ACCEPTED0.15 s1, 3, 4, 5details
#17ACCEPTED0.15 s1, 2, 3, 4, 5details
#180.16 s1, 3, 4, 5details
#190.15 s2, 5details
#20ACCEPTED0.16 s2, 5details
#210.16 s2, 5details
#220.15 s5details
#230.15 s5details
#240.16 s3, 4, 5details
#250.16 s3, 4, 5details
#260.16 s3, 4, 5details
#270.15 s3, 4, 5details
#280.20 s4, 5details
#290.19 s4, 5details
#300.16 s4, 5details
#310.15 s4, 5details
#32ACCEPTED0.19 s2, 4, 5details
#330.18 s2, 4, 5details
#340.17 s2, 4, 5details
#350.15 s2, 4, 5details
#360.15 s3, 5details
#370.16 s3, 5details
#380.16 s3, 5details
#390.15 s3, 5details
#400.16 s5details
#410.15 s5details
#420.16 s5details
#430.16 s5details
#440.14 s2, 5details
#450.15 s2, 5details
#460.15 s2, 5details
#470.14 s2, 5details

Compiler report

Note: input/ThievesAndPrisons.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Code

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
//package noi;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.ArrayList;
import java.util.Stack;

/**
 *
 * @author theod
 */
public class ThievesAndPrisons {
    
    static boolean[] thieves;
    static Stack<Short> prisons = new Stack();
    static short k;
    static short m;
    
    static ArrayList<Short> output = new ArrayList<Short>();
    
    public static void main(String[] args) throws IOException {
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StreamTokenizer st = new StreamTokenizer(br);
        
        st.nextToken();
        thieves = new boolean[(int) st.nval];
        st.nextToken();
        k = (short) st.nval;
        st.nextToken();
        m = (short) st.nval;
        
        String c;
        short x;
        for (int i = 0; i < m; i++) {
            st.nextToken();
            c = st.sval;
            st.nextToken();
            x = (short) st.nval;
            
            if("C".equals(c)){
                if(prisons.contains(x)){
                    System.out.println("IMPOSSIBLE");
                    return;
                }
                
                prisons.add(x);
                output.add(x);
            }
            else {
                if(prisons.isEmpty()){
                    System.out.println("IMPOSSIBLE");
                    return;
                }
                
                output.add(prisons.pop());
            }
        }
        
        for (Short short1 : output) {
            System.out.println(short1);
        }
    }
    
}

Test details

Test 1

Group: 2, 4, 5

Verdict: ACCEPTED

input
1 1 1
C 1

correct output

user output
1

Test 2

Group: 2, 4, 5

Verdict: ACCEPTED

input
1 1 1
O 1

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 3

Group: 2, 4, 5

Verdict: ACCEPTED

input
1 1 2
C 1
C 1

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 4

Group: 2, 4, 5

Verdict:

input
1 1 2
C 1
O 1

correct output
IMPOSSIBLE

user output
1
1

Test 5

Group: 2, 4, 5

Verdict: ACCEPTED

input
1 1 2
O 1
C 1

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 6

Group: 4, 5

Verdict:

input
2 1 2
C 1
C 2

correct output
1 1 

user output
1
2

Test 7

Group: 4, 5

Verdict:

input
2 1 2
C 1
O 1

correct output
IMPOSSIBLE

user output
1
1

Test 8

Group: 4, 5

Verdict: ACCEPTED

input
2 1 2
C 1
O 2

correct output
1 1 

user output
1
1

Test 9

Group: 1, 3, 4, 5

Verdict:

input
3 2 5
C 1
C 2
O 3
C 1
...

correct output
1 1 1 1 1 

user output
IMPOSSIBLE

Test 10

Group: 1, 3, 4, 5

Verdict: ACCEPTED

input
3 2 5
C 1
C 2
O 3
O 3
...

correct output
2 1 2 1 1 

user output
1
2
2
1
1

Test 11

Group: 1, 3, 4, 5

Verdict:

input
3 2 5
C 1
C 2
O 3
O 1
...

correct output
2 1 2 1 1 

user output
1
2
2
1
1

Test 12

Group: 1, 3, 4, 5

Verdict:

input
3 2 5
C 1
C 2
O 1
O 3
...

correct output
IMPOSSIBLE

user output
1
2
2
1
1

Test 13

Group: 1, 3, 4, 5

Verdict: ACCEPTED

input
3 2 4
C 1
O 2
C 1
O 3

correct output
1 1 1 1 

user output
1
1
1
1

Test 14

Group: 1, 3, 4, 5

Verdict: ACCEPTED

input
3 2 4
C 1
O 2
C 2
O 1

correct output
1 1 1 1 

user output
1
1
2
2

Test 15

Group: 1, 3, 4, 5

Verdict:

input
3 2 3
C 1
C 2
C 3

correct output
1 1 1 

user output
1
2
3

Test 16

Group: 1, 3, 4, 5

Verdict: ACCEPTED

input
3 2 3
O 1
C 2
C 3

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 17

Group: 1, 2, 3, 4, 5

Verdict: ACCEPTED

input
2 2 7
C 1
O 2
O 2
O 2
...

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 18

Group: 1, 3, 4, 5

Verdict:

input
4 2 5
C 2
O 3
C 1
O 4
...

correct output
1 1 1 1 1 

user output
2
2
1
1
3

Test 19

Group: 2, 5

Verdict:

input
100000 100000 100000
C 1
C 2
C 3
C 4
...

correct output
50000 49999 49998 49997 49996 ...

user output
(empty)

Test 20

Group: 2, 5

Verdict: ACCEPTED

input
100000 100000 100000
C 1
C 2
C 3
C 4
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 21

Group: 2, 5

Verdict:

input
100000 100000 100000
C 1
C 2
C 3
C 4
...

correct output
20000 20000 20000 20000 20000 ...

user output
(empty)

Test 22

Group: 5

Verdict:

input
100000 100 100000
C 1
C 2
C 3
C 4
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 23

Group: 5

Verdict:

input
100000 99 100000
C 1
C 2
C 3
C 4
...

correct output
IMPOSSIBLE

user output
(empty)

Test 24

Group: 3, 4, 5

Verdict:

input
500 2 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
IMPOSSIBLE

Test 25

Group: 3, 4, 5

Verdict:

input
500 2 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 ...

user output
IMPOSSIBLE

Test 26

Group: 3, 4, 5

Verdict:

input
500 2 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 ...

user output
IMPOSSIBLE

Test 27

Group: 3, 4, 5

Verdict:

input
500 2 500
C 384
O 62
C 387
C 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
IMPOSSIBLE

Test 28

Group: 4, 5

Verdict:

input
500 250 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
384
384
387
387
191
...
Truncated

Test 29

Group: 4, 5

Verdict:

input
500 250 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 2 1 3 ...

user output
384
384
387
387
191
...
Truncated

Test 30

Group: 4, 5

Verdict:

input
500 250 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 3 2 3 3 2 2 2 5 4 2 ...

user output
IMPOSSIBLE

Test 31

Group: 4, 5

Verdict:

input
500 250 500
C 384
O 62
C 387
C 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
IMPOSSIBLE

Test 32

Group: 2, 4, 5

Verdict: ACCEPTED

input
500 500 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
384
384
387
387
191
...
Truncated

Test 33

Group: 2, 4, 5

Verdict:

input
500 500 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 2 1 3 ...

user output
384
384
387
387
191
...
Truncated

Test 34

Group: 2, 4, 5

Verdict:

input
500 500 500
C 384
O 62
C 387
O 473
...

correct output
1 1 1 1 2 1 3 3 3 2 2 2 2 4 5 ...

user output
IMPOSSIBLE

Test 35

Group: 2, 4, 5

Verdict:

input
500 500 500
C 384
O 62
C 387
C 473
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
IMPOSSIBLE

Test 36

Group: 3, 5

Verdict:

input
100000 2 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 37

Group: 3, 5

Verdict:

input
100000 2 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 2 2 1 ...

user output
(empty)

Test 38

Group: 3, 5

Verdict:

input
100000 2 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 ...

user output
(empty)

Test 39

Group: 3, 5

Verdict:

input
100000 2 100000
C 89384
O 54062
C 85387
C 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 40

Group: 5

Verdict:

input
100000 50000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 41

Group: 5

Verdict:

input
100000 50000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 3 2 1 ...

user output
(empty)

Test 42

Group: 5

Verdict:

input
100000 50000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 3 2 3 3 3 3 3 3 4 5 ...

user output
(empty)

Test 43

Group: 5

Verdict:

input
100000 50000 100000
C 89384
O 54062
C 85387
C 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 44

Group: 2, 5

Verdict:

input
100000 100000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)

Test 45

Group: 2, 5

Verdict:

input
100000 100000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 3 2 1 ...

user output
(empty)

Test 46

Group: 2, 5

Verdict:

input
100000 100000 100000
C 89384
O 54062
C 85387
O 53318
...

correct output
1 1 1 1 2 1 3 3 3 3 3 3 4 5 3 ...

user output
(empty)

Test 47

Group: 2, 5

Verdict:

input
100000 100000 100000
C 89384
O 54062
C 85387
C 53318
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
(empty)