Submission details
Task:Kirjat
Sender:MusserO
Submission time:2015-09-29 18:53:45 +0300
Language:C++
Status:READY
Result:18
Feedback
subtaskverdictscore
#1ACCEPTED18
#20
#30
Test results
testverdicttimesubtask
#1ACCEPTED0.06 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.05 s1details
#5ACCEPTED0.06 s1details
#6ACCEPTED0.05 s1details
#7ACCEPTED0.05 s1details
#8ACCEPTED0.05 s1details
#9ACCEPTED0.06 s1details
#10ACCEPTED0.06 s1details
#11ACCEPTED0.06 s1details
#12ACCEPTED0.05 s1details
#13ACCEPTED0.05 s1details
#14ACCEPTED0.05 s1details
#15ACCEPTED0.05 s1details
#16ACCEPTED0.06 s1details
#17ACCEPTED0.06 s1details
#18ACCEPTED0.06 s1details
#19ACCEPTED0.05 s1details
#20ACCEPTED0.05 s1details
#21ACCEPTED0.05 s2details
#22ACCEPTED0.05 s2details
#23ACCEPTED0.05 s2details
#24ACCEPTED0.05 s2details
#25ACCEPTED0.05 s2details
#26ACCEPTED0.06 s2details
#27ACCEPTED0.06 s2details
#28ACCEPTED0.05 s2details
#290.14 s2details
#300.14 s2details
#31ACCEPTED0.05 s2details
#32ACCEPTED0.05 s2details
#33ACCEPTED0.07 s2details
#34ACCEPTED0.06 s2details
#350.15 s2details
#36ACCEPTED0.05 s2details
#37ACCEPTED0.06 s2details
#38ACCEPTED0.06 s2details
#39ACCEPTED0.05 s2details
#40ACCEPTED0.05 s2details
#41ACCEPTED0.05 s3details
#42ACCEPTED0.05 s3details
#430.13 s3details
#44ACCEPTED0.06 s3details
#45ACCEPTED0.05 s3details
#46ACCEPTED0.06 s3details
#47ACCEPTED0.06 s3details
#48ACCEPTED0.06 s3details
#49ACCEPTED0.06 s3details
#50ACCEPTED0.06 s3details
#51ACCEPTED0.05 s3details
#52ACCEPTED0.05 s3details
#53ACCEPTED0.06 s3details
#54ACCEPTED0.06 s3details
#55ACCEPTED0.05 s3details
#56ACCEPTED0.12 s3details
#57ACCEPTED0.11 s3details
#58ACCEPTED0.11 s3details
#59ACCEPTED0.12 s3details
#60ACCEPTED0.11 s3details

Code

#include <iostream>
#include <vector>
#include <map>

using namespace std;

int main(int argc, char** argv) {
    long n, x; 
    cin >> n;
    vector<long> a, b, v;
    vector<long> m;
    for(long i = 0; i < n; ++i){
        cin >> x;
        a.push_back(x);
    }
    for(long i = 0; i < n; ++i){
        m.push_back(a.at(n-i-1)+1 > n ? 1 : a.at(n-i-1)+1);
    }
    for(long i = 0; i < n; ++i){
        cin >> x;
        b.push_back(x);
        if (m.size() == 1 && (m.at(0) == x || m.at(0) == a.at(i))){
            for (int j = 0; j < n; ++j){
                if (v.at(j) != x && v.at(j) != a.at(i) && m.at(0) != a.at(j) && m.at(0) != b.at(j)){
                    long q = v.at(j);
                    v.at(j) = m.at(0);
                    v.push_back(q);
                    break;
                }
            }
        } else {
            if (m.at(m.size()-1) != x && m.at(m.size()-1) != a.at(i)){
                v.push_back(m.at(m.size()-1));
                m.pop_back();
            } else if (m.at(m.size()-2) != x && m.at(m.size()-2) != a.at(i)){
                v.push_back(m.at(m.size()-2));
                m.erase(m.end()-2);
            } else {
                v.push_back(m.at(m.size()-3));
                m.erase(m.end()-3);
            }
        }
    }

    for(long i = 0; i < n; ++i){
        cout << v.at(i) << " ";
    }
    return 0;
}

Test details

Test 1

Subtask: 1

Verdict: ACCEPTED

input
3
2 1 3
3 2 1

correct output
1 3 2 

user output
1 3 2 

Test 2

Subtask: 1

Verdict: ACCEPTED

input
4
2 1 4 3
1 4 3 2

correct output
4 3 2 1 

user output
3 2 1 4 

Test 3

Subtask: 1

Verdict: ACCEPTED

input
4
4 3 2 1
3 1 4 2

correct output
1 2 3 4 

user output
1 2 3 4 

Test 4

Subtask: 1

Verdict: ACCEPTED

input
4
3 4 2 1
2 3 1 4

correct output
1 2 4 3 

user output
4 1 3 2 

Test 5

Subtask: 1

Verdict: ACCEPTED

input
4
4 1 3 2
2 3 1 4

correct output
1 4 2 3 

user output
1 2 4 3 

Test 6

Subtask: 1

Verdict: ACCEPTED

input
5
5 1 3 2 4
3 4 2 1 5

correct output
2 3 4 5 1 

user output
1 5 4 3 2 

Test 7

Subtask: 1

Verdict: ACCEPTED

input
5
4 2 3 5 1
3 5 2 1 4

correct output
1 4 5 2 3 

user output
1 3 4 2 5 

Test 8

Subtask: 1

Verdict: ACCEPTED

input
5
1 4 3 2 5
4 3 1 5 2

correct output
3 2 5 1 4 

user output
2 5 4 3 1 

Test 9

Subtask: 1

Verdict: ACCEPTED

input
5
5 3 2 1 4
4 2 1 3 5

correct output
1 4 5 2 3 

user output
1 4 5 2 3 

Test 10

Subtask: 1

Verdict: ACCEPTED

input
5
4 3 5 1 2
5 1 3 2 4

correct output
2 5 1 4 3 

user output
2 5 4 3 1 

Test 11

Subtask: 1

Verdict: ACCEPTED

input
5
5 1 3 2 4
2 5 4 3 1

correct output
3 4 2 1 5 

user output
1 2 5 4 3 

Test 12

Subtask: 1

Verdict: ACCEPTED

input
5
5 4 2 1 3
2 3 5 4 1

correct output
3 1 4 5 2 

user output
1 5 3 2 4 

Test 13

Subtask: 1

Verdict: ACCEPTED

input
5
1 5 2 4 3
5 1 4 3 2

correct output
3 2 5 1 4 

user output
2 3 1 5 4 

Test 14

Subtask: 1

Verdict: ACCEPTED

input
5
5 3 4 2 1
3 5 2 1 4

correct output
1 2 3 4 5 

user output
1 4 5 3 2 

Test 15

Subtask: 1

Verdict: ACCEPTED

input
5
4 5 3 2 1
3 2 1 4 5

correct output
5 3 2 1 4 

user output
5 1 4 3 2 

Test 16

Subtask: 1

Verdict: ACCEPTED

input
10
4 9 1 10 6 8 7 2 3 5
8 5 7 3 1 6 4 10 2 9

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

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

Test 17

Subtask: 1

Verdict: ACCEPTED

input
10
6 10 8 2 3 5 7 1 4 9
4 1 2 10 5 6 9 3 8 7

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

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

Test 18

Subtask: 1

Verdict: ACCEPTED

input
10
8 2 9 10 1 6 4 7 3 5
3 8 4 5 6 7 9 10 1 2

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

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

Test 19

Subtask: 1

Verdict: ACCEPTED

input
10
6 3 8 9 5 7 4 10 1 2
8 9 10 1 3 6 2 7 4 5

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

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

Test 20

Subtask: 1

Verdict: ACCEPTED

input
10
8 3 5 6 2 10 4 7 1 9
4 7 8 10 5 2 6 1 9 3

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

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

Test 21

Subtask: 2

Verdict: ACCEPTED

input
3
3 2 1
1 3 2

correct output
2 1 3 

user output
2 1 3 

Test 22

Subtask: 2

Verdict: ACCEPTED

input
4
2 3 1 4
1 4 3 2

correct output
3 2 4 1 

user output
3 2 4 1 

Test 23

Subtask: 2

Verdict: ACCEPTED

input
4
2 4 3 1
4 1 2 3

correct output
3 2 1 4 

user output
3 2 1 4 

Test 24

Subtask: 2

Verdict: ACCEPTED

input
4
4 1 2 3
1 3 4 2

correct output
3 2 1 4 

user output
2 4 3 1 

Test 25

Subtask: 2

Verdict: ACCEPTED

input
4
2 1 3 4
4 3 2 1

correct output
3 4 1 2 

user output
1 2 4 3 

Test 26

Subtask: 2

Verdict: ACCEPTED

input
5
2 5 3 1 4
4 2 1 5 3

correct output
5 4 2 3 1 

user output
3 1 4 2 5 

Test 27

Subtask: 2

Verdict: ACCEPTED

input
5
1 4 3 2 5
5 2 4 1 3

correct output
4 5 2 3 1 

user output
3 5 1 4 2 

Test 28

Subtask: 2

Verdict: ACCEPTED

input
5
1 4 2 3 5
2 3 1 5 4

correct output
4 5 3 1 2 

user output
5 2 3 4 1 

Test 29

Subtask: 2

Verdict:

input
5
4 5 2 3 1
5 3 1 2 4

correct output
1 2 3 4 5 

user output
(empty)

Error:
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 2)

Test 30

Subtask: 2

Verdict:

input
5
3 2 1 5 4
5 4 3 1 2

correct output
4 5 2 3 1 

user output
(empty)

Error:
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 2)

Test 31

Subtask: 2

Verdict: ACCEPTED

input
5
5 3 1 2 4
3 2 4 1 5

correct output
4 5 2 3 1 

user output
1 4 5 3 2 

Test 32

Subtask: 2

Verdict: ACCEPTED

input
5
5 4 1 2 3
1 5 3 4 2

correct output
2 3 4 5 1 

user output
2 1 5 3 4 

Test 33

Subtask: 2

Verdict: ACCEPTED

input
5
1 4 5 3 2
3 5 2 4 1

correct output
5 1 3 2 4 

user output
2 1 4 5 3 

Test 34

Subtask: 2

Verdict: ACCEPTED

input
5
3 4 2 1 5
1 5 3 4 2

correct output
2 3 4 5 1 

user output
4 3 5 2 1 

Test 35

Subtask: 2

Verdict:

input
5
2 3 1 5 4
5 4 2 1 3

correct output
1 2 3 4 5 

user output
(empty)

Error:
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 2)

Test 36

Subtask: 2

Verdict: ACCEPTED

input
1000
63 72 78 267 740 551 517 698 6...

correct output
26 926 267 321 385 444 968 690...

user output
64 73 79 268 741 552 518 699 6...

Test 37

Subtask: 2

Verdict: ACCEPTED

input
1000
954 273 839 263 331 161 938 51...

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

user output
955 274 840 264 332 162 939 51...

Test 38

Subtask: 2

Verdict: ACCEPTED

input
1000
740 142 781 837 759 392 582 14...

correct output
111 291 702 70 561 469 707 897...

user output
741 143 782 838 760 393 583 14...

Test 39

Subtask: 2

Verdict: ACCEPTED

input
1000
960 550 210 529 691 277 63 975...

correct output
716 604 535 519 27 204 574 592...

user output
961 551 211 530 692 278 64 976...

Test 40

Subtask: 2

Verdict: ACCEPTED

input
1000
371 772 197 202 504 931 4 46 6...

correct output
26 926 267 321 385 444 968 690...

user output
372 773 198 203 505 932 5 47 6...

Test 41

Subtask: 3

Verdict: ACCEPTED

input
3
1 2 3
3 1 2

correct output
2 3 1 

user output
2 3 1 

Test 42

Subtask: 3

Verdict: ACCEPTED

input
4
4 2 3 1
2 3 1 4

correct output
1 4 2 3 

user output
1 4 2 3 

Test 43

Subtask: 3

Verdict:

input
4
2 1 4 3
4 3 1 2

correct output
1 2 3 4 

user output
(empty)

Error:
terminate called after throwing an instance of 'std::out_of_range'
  what():  vector::_M_range_check: __n (which is 18446744073709551615) >= this->size() (which is 2)

Test 44

Subtask: 3

Verdict: ACCEPTED

input
4
1 4 2 3
2 3 4 1

correct output
3 2 1 4 

user output
3 2 1 4 

Test 45

Subtask: 3

Verdict: ACCEPTED

input
4
2 1 4 3
1 3 2 4

correct output
4 2 3 1 

user output
3 4 1 2 

Test 46

Subtask: 3

Verdict: ACCEPTED

input
5
3 1 5 2 4
5 4 2 1 3

correct output
1 2 3 4 5 

user output
4 2 1 3 5 

Test 47

Subtask: 3

Verdict: ACCEPTED

input
5
2 1 5 3 4
5 3 2 4 1

correct output
4 5 3 1 2 

user output
4 2 1 5 3 

Test 48

Subtask: 3

Verdict: ACCEPTED

input
5
5 1 4 3 2
3 5 1 2 4

correct output
1 2 3 4 5 

user output
1 2 5 4 3 

Test 49

Subtask: 3

Verdict: ACCEPTED

input
5
2 4 1 3 5
3 5 4 1 2

correct output
5 1 3 2 4 

user output
5 3 2 4 1 

Test 50

Subtask: 3

Verdict: ACCEPTED

input
5
5 2 3 4 1
2 1 4 3 5

correct output
1 4 5 2 3 

user output
1 3 5 2 4 

Test 51

Subtask: 3

Verdict: ACCEPTED

input
5
4 1 5 3 2
2 4 1 5 3

correct output
1 2 3 4 5 

user output
3 2 4 1 5 

Test 52

Subtask: 3

Verdict: ACCEPTED

input
5
3 1 5 2 4
1 4 2 3 5

correct output
5 2 1 4 3 

user output
4 2 1 5 3 

Test 53

Subtask: 3

Verdict: ACCEPTED

input
5
1 4 5 3 2
4 2 3 5 1

correct output
5 3 2 1 4 

user output
2 5 1 4 3 

Test 54

Subtask: 3

Verdict: ACCEPTED

input
5
1 4 5 2 3
4 2 3 1 5

correct output
2 3 4 5 1 

user output
2 5 1 3 4 

Test 55

Subtask: 3

Verdict: ACCEPTED

input
5
4 5 3 2 1
5 3 4 1 2

correct output
1 2 5 3 4 

user output
1 2 5 3 4 

Test 56

Subtask: 3

Verdict: ACCEPTED

input
100000
74620 99226 537 63830 13777 69...

correct output
44158 25720 84658 90057 99607 ...

user output
74621 99227 538 63831 13778 69...

Test 57

Subtask: 3

Verdict: ACCEPTED

input
100000
67665 19864 90761 58104 38796 ...

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

user output
67666 19865 90762 58105 38797 ...

Test 58

Subtask: 3

Verdict: ACCEPTED

input
100000
63021 24161 40379 69157 89616 ...

correct output
4913 70683 13897 99969 66725 3...

user output
63022 24162 40380 69158 89617 ...

Test 59

Subtask: 3

Verdict: ACCEPTED

input
100000
31500 70052 90949 56812 73871 ...

correct output
47064 17335 15460 80797 56435 ...

user output
31501 70053 90950 56813 73872 ...

Test 60

Subtask: 3

Verdict: ACCEPTED

input
100000
39127 4446 57817 67459 53741 8...

correct output
96591 75698 82505 59416 72144 ...

user output
39128 4447 57818 67460 53742 8...