CSES - Putka Open 2015 – 4/6 - Results
Submission details
Task:Taulukot
Sender:
Submission time:2015-10-11 20:16:30 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.05 s1details
#30.05 s1details
#4ACCEPTED0.06 s1details
#50.06 s1details
#60.06 s2details
#7ACCEPTED0.06 s2details
#8ACCEPTED0.06 s2details
#9ACCEPTED0.06 s2details
#10ACCEPTED0.05 s2details
#11ACCEPTED0.07 s3details
#12ACCEPTED0.07 s3details
#13ACCEPTED0.06 s3details
#140.06 s3details
#150.08 s3details

Code

#include <iostream>
using namespace std;
typedef long long ll;
const ll MN = 1e6+100;
ll dp[MN];
bool sieve[MN];
int a[MN];
int b[MN];
int main() {
    for(ll i = 2; i < MN; ++i) {
        if(!sieve[i]) {
            for(ll j = i*i; j < MN; j += i) {
                sieve[j] = 1;
            }
        }
    }
    ll n;
    cin>>n;
    if(n == 1) {
        cout<<1<<'\n'<<1<<'\n';
        return 0;
    }
    dp[2] = 2;
    for(ll i = 3; i <= n; ++i) {
        if(!sieve[i]) {
            dp[i] = 1;
        }
        else {
            for(ll j = i-1; j >= 0; --j) {
                if(!sieve[j+i]) {
                    dp[i] = i-j+1;
                    break;
                }
            }
        }
    }
    int nn = n;
    while(n > 0) {
        for(int i = 0; i < dp[n]; ++i) {
            a[n-i] = n-i;
            b[n-i] = n-dp[n]+1+i;
        }
        n -= dp[n];
    }
    for(int i = 1; i <= nn; ++i) {
        cout<<a[i]<<' ';
    }
    cout<<'\n';
    for(int i = 1; i <= nn; ++i) {
        cout<<b[i]<<' ';
    }
    cout<<'\n';
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
1

correct output


user output
1
1

Test 2

Group: 1

Verdict: ACCEPTED

input
4

correct output
1 2 3 4 
2 1 4 3 

user output
1 2 3 4 
2 1 4 3 

Test 3

Group: 1

Verdict:

input
5

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

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

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
1 2 3 4 5 6 7 8 
2 1 4 3 8 7 6 5 

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
1 2 3 4 5 6 7 8 9 
2 1 4 3 6 5 7 9 8 

Test 6

Group: 2

Verdict:

input
77

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

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

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
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

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
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

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
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 10

Group: 2

Verdict: ACCEPTED

input
68

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

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

Test 11

Group: 3

Verdict: ACCEPTED

input
90764

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

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

Test 12

Group: 3

Verdict: ACCEPTED

input
97976

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

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

Test 13

Group: 3

Verdict: ACCEPTED

input
96762

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

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

Test 14

Group: 3

Verdict:

input
94823

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

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

Test 15

Group: 3

Verdict:

input
91479

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

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