CSES - Aalto Competitive Programming 2024 - wk6 - Wed - Results
Submission details
Task:Fence
Sender:aalto2024g_006
Submission time:2024-10-09 16:32:37 +0300
Language:C++ (C++11)
Status:READY
Result:
Test results
testverdicttime
#10.00 sdetails
#20.00 sdetails
#30.00 sdetails
#40.00 sdetails
#50.00 sdetails
#60.00 sdetails
#70.00 sdetails
#80.00 sdetails
#90.00 sdetails
#100.00 sdetails
#110.00 sdetails
#120.00 sdetails
#130.00 sdetails
#140.00 sdetails
#150.00 sdetails
#160.00 sdetails
#170.00 sdetails
#180.00 sdetails
#190.00 sdetails
#200.00 sdetails
#210.00 sdetails
#220.00 sdetails
#230.00 sdetails
#240.00 sdetails
#250.00 sdetails
#260.00 sdetails
#270.00 sdetails
#280.00 sdetails
#290.00 sdetails
#300.00 sdetails
#310.00 sdetails
#320.00 sdetails
#330.00 sdetails
#340.00 sdetails
#350.00 sdetails
#360.00 sdetails
#370.00 sdetails
#380.00 sdetails
#390.00 sdetails
#400.00 sdetails
#410.00 sdetails
#420.00 sdetails
#430.00 sdetails
#440.00 sdetails
#450.00 sdetails
#460.00 sdetails
#470.00 sdetails
#480.00 sdetails
#490.00 sdetails
#500.00 sdetails
#510.00 sdetails
#520.00 sdetails
#530.00 sdetails
#540.00 sdetails
#550.00 sdetails
#560.00 sdetails
#570.00 sdetails
#580.00 sdetails
#590.00 sdetails
#600.00 sdetails
#610.00 sdetails
#620.00 sdetails
#630.10 sdetails
#640.07 sdetails
#650.06 sdetails
#660.07 sdetails
#670.10 sdetails
#680.05 sdetails
#690.10 sdetails
#700.04 sdetails
#710.09 sdetails
#720.03 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:60:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |             for(int i=0; i< suport.size(); i++){
      |                          ~^~~~~~~~~~~~~~~

Code

#include <iostream>
#include <vector>
#include <stack>
 
using namespace std;
 
 
int main(){
    int n,q;
    cin >> n>>q;
 
    vector<int> obre(n);
 
    for(int i=0; i<n; i++){
        int temp;
        cin >> temp;
        obre[temp-1] = i;
 
    }
 
    vector<int> querry(q);
 
    for(int i=0; i<q; i++){
        int ttemp;
        cin >> ttemp;
        querry[i] = ttemp-1;
    }
 
    vector<int> solucions(n, -1);
 
    for(int i=0; i<q; i++){
        if(solucions[querry[i]]!=-1){
            cout << solucions[querry[i]];
            if(i!=q-1)cout << " ";
            continue;
        }


        vector<bool> open(n,false);
        int key = querry[i];
        int count = 0;
        stack<int> podem;
        podem.push(key);
        vector<pair<int,int>> suport;
        bool a = true;
        while(!podem.empty()){
            int act = podem.top(); podem.pop();
            open[act] = true;
            count +=1;
            if(!open[obre[act]]){
                podem.push(obre[act]);
                suport.push_back(make_pair(obre[act], -count));
            }
            else{
                a = false;
            }
        }
        solucions[key] = count;
        if(a==false){ 
            for(int i=0; i< suport.size(); i++){
                solucions[suport[i].first] = count;
            }
        }

        cout << count;
        if(i!=q-1)cout << " ";
 
    }
    cout << endl;
 
}

Test details

Test 1

Verdict:

input
1 8
3 5 

correct output
Yes

user output
0 0 0 0 0 0 0 0

Test 2

Verdict:

input
1 9
3 4 

correct output
No

user output
0 0 0 0 0 0 0 0 0

Test 3

Verdict:

input
2 3
2 1 2 1 

correct output
Yes

user output
2 2 2

Test 4

Verdict:

input
2 3
2 1 1 2 

correct output
Yes

user output
2 2 2

Test 5

Verdict:

input
3 5
3 2 2 3 2 3 

correct output
Yes

user output
2 3 3 3 3

Test 6

Verdict:

input
3 8
3 5 3 5 2 6 

correct output
Yes

user output
0 2 0 0 0 0 0 0

Test 7

Verdict:

input
3 4
3 1 1 3 2 2 

correct output
Yes

user output
2 3 3 3

Test 8

Verdict:

input
4 2
1 1 1 1 1 1 1 1 

correct output
Yes

user output
2 2

Test 9

Verdict:

input
4 8
1 7 2 6 7 1 2 6 

correct output
Yes

user output
(empty)

Error:
code: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0)...

Test 10

Verdict:

input
4 2
1 1 1 1 1 1 1 1 

correct output
Yes

user output
2 2

Test 11

Verdict:

input
4 2
1 1 1 1 1 1 1 1 

correct output
Yes

user output
2 2

Test 12

Verdict:

input
4 8
5 2 6 2 2 6 4 3 

correct output
No

user output
3 0 3 2 2 2 2 2

Test 13

Verdict:

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

correct output
Yes

user output
1 4 4 4 4 4

Test 14

Verdict:

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

correct output
Yes

user output
4 4 4 1 4

Test 15

Verdict:

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

correct output
No

user output
3 3 3 3 3

Test 16

Verdict:

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

correct output
Yes

user output
3 3 3 3 2 2

Test 17

Verdict:

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

correct output
Yes

user output
(empty)

Error:
malloc(): corrupted top size

Test 18

Verdict:

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

correct output
Yes

user output
4 4 4

Test 19

Verdict:

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

correct output
Yes

user output
(empty)

Error:
malloc(): corrupted top size

Test 20

Verdict:

input
5 2
1 1 1 1 1 1 1 1 1 1 

correct output
Yes

user output
2 2

Test 21

Verdict:

input
5 9
8 2 7 4 5 7 2 4 1 5 

correct output
Yes

user output
(empty)

Error:
code: malloc.c:2617: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0)...

Test 22

Verdict:

input
5 2
1 1 1 1 1 1 1 1 1 1 

correct output
Yes

user output
2 2

Test 23

Verdict:

input
10 6
4 2 5 1 4 2 5 1 5 3 4 2 4 2 2 ...

correct output
Yes

user output
5 4 5 4 4 5

Test 24

Verdict:

input
10 5
3 2 4 1 1 4 1 4 2 3 4 1 1 4 1 ...

correct output
Yes

user output
4 4 4 4 4

Test 25

Verdict:

input
10 5
1 4 3 4 2 2 2 2 2 1 1 3 3 1 2 ...

correct output
No

user output
2 1 1 2 4

Test 26

Verdict:

input
10 6
4 5 2 1 3 3 5 3 5 1 1 1 2 2 1 ...

correct output
No

user output
2 2 5 5 5 5

Test 27

Verdict:

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

correct output
Yes

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

Test 28

Verdict:

input
10 3
2 2 1 1 2 2 1 1 2 1 2 1 2 1 1 ...

correct output
Yes

user output
4 4 4

Test 29

Verdict:

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

correct output
Yes

user output
4 4 4 4 4 4 4 4 4 4

Test 30

Verdict:

input
10 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
Yes

user output
2 2

Test 31

Verdict:

input
10 9
8 2 7 4 5 7 2 4 1 5 4 7 4 4 5 ...

correct output
Yes

user output
4 4 4 4 4 4 4 4 4

Test 32

Verdict:

input
10 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
Yes

user output
2 2

Test 33

Verdict:

input
100 54882
39253 15632 47086 7798 23252 3...

correct output
No

user output
(empty)

Test 34

Verdict:

input
100 41703
30040 11663 38890 2813 5 41698...

correct output
Yes

user output
(empty)

Test 35

Verdict:

input
100 43601
1131 40616 23966 41322 18981 2...

correct output
No

user output
(empty)

Test 36

Verdict:

input
100 55081
39006 46265 16024 6683 28137 3...

correct output
No

user output
(empty)

Test 37

Verdict:

input
100 96704
52920 43784 16701 80003 94062 ...

correct output
Yes

user output
(empty)

Test 38

Verdict:

input
100 22201
19331 18456 4590 8076 20394 21...

correct output
No

user output
(empty)

Test 39

Verdict:

input
100 89287
29642 59645 18698 70589 73325 ...

correct output
Yes

user output
(empty)

Test 40

Verdict:

input
100 7632
5952 2435 3346 7465 5521 3477 ...

correct output
No

user output
(empty)

Test 41

Verdict:

input
100 87344
84597 20914 75919 32974 46368 ...

correct output
No

user output
(empty)

Test 42

Verdict:

input
100 1039
521 518 6 1030 146 890 911 126...

correct output
No

user output
0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 ...
Truncated

Test 43

Verdict:

input
200 54882
39253 15632 47086 7798 23252 3...

correct output
No

user output
(empty)

Test 44

Verdict:

input
200 41703
30040 11663 38890 2813 5 41698...

correct output
Yes

user output
(empty)

Test 45

Verdict:

input
200 43601
1131 40616 23966 41322 18981 2...

correct output
No

user output
(empty)

Test 46

Verdict:

input
200 55081
39006 46265 16024 6683 28137 3...

correct output
No

user output
(empty)

Test 47

Verdict:

input
200 96704
52920 43784 16701 80003 94062 ...

correct output
Yes

user output
(empty)

Test 48

Verdict:

input
200 22201
19331 18456 4590 8076 20394 21...

correct output
No

user output
(empty)

Test 49

Verdict:

input
200 89287
29642 59645 18698 70589 73325 ...

correct output
Yes

user output
(empty)

Test 50

Verdict:

input
200 7632
5952 2435 3346 7465 5521 3477 ...

correct output
No

user output
(empty)

Test 51

Verdict:

input
200 87344
84597 20914 75919 32974 46368 ...

correct output
No

user output
(empty)

Test 52

Verdict:

input
200 1039
521 518 6 1030 146 890 911 126...

correct output
No

user output
0 0 0 0 0 2 0 0 0 0 2 0 0 3 0 ...
Truncated

Test 53

Verdict:

input
1000 54882
39253 15632 47086 7798 23252 3...

correct output
No

user output
(empty)

Test 54

Verdict:

input
1000 41703
30040 11663 38890 2813 5 41698...

correct output
Yes

user output
(empty)

Test 55

Verdict:

input
1000 43601
1131 40616 23966 41322 18981 2...

correct output
No

user output
(empty)

Test 56

Verdict:

input
1000 55081
39006 46265 16024 6683 28137 3...

correct output
No

user output
(empty)

Test 57

Verdict:

input
1000 96704
52920 43784 16701 80003 94062 ...

correct output
Yes

user output
(empty)

Test 58

Verdict:

input
1000 22201
19331 18456 4590 8076 20394 21...

correct output
No

user output
(empty)

Test 59

Verdict:

input
1000 89287
29642 59645 18698 70589 73325 ...

correct output
Yes

user output
(empty)

Test 60

Verdict:

input
1000 7632
5952 2435 3346 7465 5521 3477 ...

correct output
No

user output
(empty)

Test 61

Verdict:

input
1000 87344
84597 20914 75919 32974 46368 ...

correct output
No

user output
(empty)

Test 62

Verdict:

input
1000 1039
521 518 6 1030 146 890 911 126...

correct output
No

user output
(empty)

Error:
malloc(): corrupted top size

Test 63

Verdict:

input
100000 54882
39253 15632 47086 7798 23252 3...

correct output
No

user output
3 4 3 3 3 3 3 3 3 3 2 3 2 3 3 ...
Truncated

Test 64

Verdict:

input
100000 41703
30040 11663 38890 2813 5 41698...

correct output
Yes

user output
4 4 5 6 4 4 4 4 4 4 4 4 4 4 5 ...
Truncated

Test 65

Verdict:

input
100000 43601
1131 40616 23966 41322 18981 2...

correct output
No

user output
4 4 4 5 3 4 4 4 4 5 4 3 4 6 4 ...
Truncated

Test 66

Verdict:

input
100000 55081
39006 46265 16024 6683 28137 3...

correct output
No

user output
5 6 7 5 6 5 5 4 5 8 5 6 6 5 5 ...
Truncated

Test 67

Verdict:

input
100000 96704
52920 43784 16701 80003 94062 ...

correct output
Yes

user output
4 4 6 7 4 4 5 5 4 4 6 7 7 6 7 ...
Truncated

Test 68

Verdict:

input
100000 22201
19331 18456 4590 8076 20394 21...

correct output
No

user output
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 ...
Truncated

Test 69

Verdict:

input
100000 89287
29642 59645 18698 70589 73325 ...

correct output
Yes

user output
7 8 12 9 7 7 8 7 7 7 6 6 6 6 6...
Truncated

Test 70

Verdict:

input
100000 7632
5952 2435 3346 7465 5521 3477 ...

correct output
No

user output
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 ...
Truncated

Test 71

Verdict:

input
100000 87344
84597 20914 75919 32974 46368 ...

correct output
No

user output
5 8 4 4 4 5 4 6 4 7 4 6 5 6 5 ...
Truncated

Test 72

Verdict:

input
100000 1039
521 518 6 1030 146 890 911 126...

correct output
No

user output
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 ...
Truncated