CSES - Putka Open 2015 – 4/6 - Results
Submission details
Task:Taulukot
Sender:
Submission time:2015-10-09 22:32:12 +0300
Language:Java
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.17 s1details
#2ACCEPTED0.17 s1details
#30.19 s1details
#4ACCEPTED0.17 s1details
#50.18 s1details
#6ACCEPTED0.18 s2details
#7ACCEPTED0.17 s2details
#8ACCEPTED0.15 s2details
#9ACCEPTED0.17 s2details
#100.17 s2details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details

Code

//package alkuluvut;

/**
 *
 * @author Adreno
 */
public class Alkuluvut {

    public static boolean[] tarkistettu;
    public static boolean[] onAlkuLuku;
            
    public static void main(String[] args) {
        IO io = new IO();
        int n = io.nextInt();
        tarkistettu = new boolean[n+n+5];
        onAlkuLuku = new boolean[n+n+5];
        boolean[] kaytettyA = new boolean[n+1];
        boolean[] kaytettyB = new boolean[n+1];
        int pointer = 0;
        int[] a = new int[n];
        int[] b = new int[n];
        for (int i=n; i>=1; i--) {
            if (kaytettyA[i] && kaytettyB[i]) continue;
            for (int j=i; j>=1; j--) {
                if ((kaytettyA[i] || kaytettyB[j]) && (kaytettyA[j] || kaytettyB[i])) continue;
                if (!onkoAlkuluku(i+j)) continue;
                if (!kaytettyA[i] && !kaytettyB[j]) {
                    kaytettyA[i] = true;
                    kaytettyB[j] = true;
                    a[pointer] = i;
                    b[pointer] = j;
                    pointer++;
                } else {// if (!kaytettyA[j] && !kaytettyB[i]) {
                    kaytettyA[j] = true;
                    kaytettyB[i] = true;
                    a[pointer] = j;
                    b[pointer] = i;
                    pointer++;
                } 
            }
        }
        
        for (int i=0; i<n; i++) io.print(a[i] + " ");
        io.println();
        for (int i=0; i<n; i++) io.print(b[i] + " ");
        io.println();
        
        io.close();
    }
    
    public static boolean onkoAlkuluku(int a) {
        if (tarkistettu[a]) return onAlkuLuku[a];
        tarkistettu[a] = true;
        for (int i=2; i*i<=a; i++) {
            if (a%i == 0) return false;
        }
        onAlkuLuku[a] = true;
        return true;
    }
    
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1

correct output


user output


Test 2

Group: 1

Verdict: ACCEPTED

input
4

correct output
1 2 3 4 
2 1 4 3 

user output
4 1 3 2 
3 4 2 1 

Test 3

Group: 1

Verdict:

input
5

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

user output
5 4 1 2 0 
2 3 4 1 0 

Test 4

Group: 1

Verdict: ACCEPTED

input
8

correct output
1 2 3 4 5 6 7 8 
2 1 4 3 8 7 6 5 

user output
8 3 7 4 6 5 1 2 
5 8 6 7 1 2 4 3 

Test 5

Group: 1

Verdict:

input
9

correct output
1 2 3 4 5 6 7 8 9 
1 5 4 3 2 7 6 9 8 

user output
9 4 8 7 6 5 3 2 0 
8 9 5 6 1 2 4 3 0 

Test 6

Group: 2

Verdict: ACCEPTED

input
77

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

user output
77 72 76 73 75 74 66 67 71 60 ...

Test 7

Group: 2

Verdict: ACCEPTED

input
70

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

user output
70 67 69 68 64 66 61 65 63 62 ...

Test 8

Group: 2

Verdict: ACCEPTED

input
72

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

user output
72 65 71 66 70 67 69 68 61 62 ...

Test 9

Group: 2

Verdict: ACCEPTED

input
86

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

user output
86 77 85 78 84 79 83 82 81 80 ...

Test 10

Group: 2

Verdict:

input
68

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

user output
68 59 67 60 66 61 65 64 63 62 ...

Test 11

Group: 3

Verdict:

input
90764

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

user output
(empty)

Test 12

Group: 3

Verdict:

input
97976

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

user output
(empty)

Test 13

Group: 3

Verdict:

input
96762

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

user output
(empty)

Test 14

Group: 3

Verdict:

input
94823

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

user output
(empty)

Test 15

Group: 3

Verdict:

input
91479

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

user output
(empty)