CSES - Putka Open 2015 – 4/6 - Results
Submission details
Task:Taulukot
Sender:
Submission time:2015-10-09 23:22:37 +0300
Language:Java
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.46 s1details
#20.39 s1details
#30.39 s1details
#40.40 s1details
#50.46 s1details
#60.39 s2details
#70.43 s2details
#80.40 s2details
#90.44 s2details
#100.35 s2details
#110.42 s3details
#120.40 s3details
#130.47 s3details
#140.39 s3details
#150.39 s3details

Code

//package alkuluvut;

import java.util.Arrays;
import java.util.TreeSet;

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

    public static boolean[] eiOleAlkuLuku;
            
    public static void main(String[] args) {
        IO io = new IO();
        //int n = io.nextInt();
        int n = 100000;
        int max = 2*n+2;
        eiOleAlkuLuku = new boolean[max];
        for (int i = 2; i < max; i++) {
            if (eiOleAlkuLuku[i]) continue;
            for (int j = i*i; j < max && j > 0; j += i) {
                eiOleAlkuLuku[j] = true;
            }
        }
        TreeSet<Integer> alkuluvut = new TreeSet<>();
        for (int i=2; i<max; i++) {
            if (eiOleAlkuLuku[i]) continue;
            alkuluvut.add(i);
        }

        boolean[] kaytetty = 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 (kaytetty[i]) continue;
            int nextPossible = i+i+1;
            while (true) {
                nextPossible = alkuluvut.lower(nextPossible);
                int counterPart = nextPossible - i;
                if (kaytetty[counterPart]) continue;
                kaytetty[counterPart] = true;
                kaytetty[i] = true;
                a[pointer] = counterPart;
                b[pointer] = i;
                if (i != counterPart) {
                    a[pointer] = i;
                    b[pointer] = counterPart;
                }
                pointer++;
                break;
            }
        }
        
        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();
    }

}

Test details

Test 1

Group: 1

Verdict:

input
1

correct output


user output
100000 99998 99997 99996 99995...

Test 2

Group: 1

Verdict:

input
4

correct output
1 2 3 4 
2 1 4 3 

user output
100000 99998 99997 99996 99995...

Test 3

Group: 1

Verdict:

input
5

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

user output
100000 99998 99997 99996 99995...

Test 4

Group: 1

Verdict:

input
8

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

user output
100000 99998 99997 99996 99995...

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
100000 99998 99997 99996 99995...

Test 6

Group: 2

Verdict:

input
77

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

user output
100000 99998 99997 99996 99995...

Test 7

Group: 2

Verdict:

input
70

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

user output
100000 99998 99997 99996 99995...

Test 8

Group: 2

Verdict:

input
72

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

user output
100000 99998 99997 99996 99995...

Test 9

Group: 2

Verdict:

input
86

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

user output
100000 99998 99997 99996 99995...

Test 10

Group: 2

Verdict:

input
68

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

user output
100000 99998 99997 99996 99995...

Test 11

Group: 3

Verdict:

input
90764

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

user output
100000 99998 99997 99996 99995...

Test 12

Group: 3

Verdict:

input
97976

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

user output
100000 99998 99997 99996 99995...

Test 13

Group: 3

Verdict:

input
96762

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

user output
100000 99998 99997 99996 99995...

Test 14

Group: 3

Verdict:

input
94823

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

user output
100000 99998 99997 99996 99995...

Test 15

Group: 3

Verdict:

input
91479

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

user output
100000 99998 99997 99996 99995...