Submission #100020

# Submission time Handle Problem Language Result Execution time Memory
100020 2019-03-09T06:35:58 Z rocketninja7 Roller Coaster Railroad (IOI16_railroad) C++14
34 / 100
780 ms 8696 KB
#include "railroad.h"
#include <algorithm>

long long int memo[16][1<<16];

long long int recursion(int curr, int bitmask, std::vector<int> s, std::vector<int> t){
    if(bitmask==0){
        return 0;
    }
    int n = (int) s.size();
    if(memo[curr][bitmask]!=-1){
        return memo[curr][bitmask];
    }
    long long int ans=15000000000;
    for(int i=0;i<n;i++){
        if(bitmask&(1<<i)){
            ans=std::min(ans, recursion(i, bitmask-(1<<i), s, t)+std::max(t[curr]-s[i], 0));
        }
    }
    return memo[curr][bitmask]=ans;
}

long long plan_roller_coaster(std::vector<int> s, std::vector<int> t) {
    int n = (int) s.size();
    if(n<=16){
        for(int i=0;i<n;i++){
            for(int j=0;j<(1<<n);j++){
                memo[i][j]=-1;
            }
        }
        long long int ans=15000000000;
        for(int i=0;i<n;i++){
            ans=std::min(ans, recursion(i, (1<<n)-1-(1<<i), s, t));
        }
        return ans;
    }
    std::pair<int, int> tsect[n];
    for(int i=0;i<n;i++){
        tsect[i]=std::make_pair(t[i], i);
    }
    std::sort(tsect, tsect+n);

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB n = 2
2 Correct 2 ms 256 KB n = 2
3 Correct 2 ms 356 KB n = 2
4 Correct 2 ms 304 KB n = 2
5 Correct 2 ms 256 KB n = 2
6 Correct 2 ms 256 KB n = 2
7 Correct 2 ms 256 KB n = 3
8 Correct 2 ms 252 KB n = 3
9 Correct 3 ms 256 KB n = 3
10 Correct 2 ms 384 KB n = 8
11 Correct 2 ms 384 KB n = 8
12 Correct 2 ms 384 KB n = 8
13 Correct 3 ms 384 KB n = 8
14 Correct 2 ms 384 KB n = 8
15 Correct 3 ms 384 KB n = 8
16 Correct 2 ms 384 KB n = 8
17 Correct 3 ms 384 KB n = 8
18 Correct 3 ms 384 KB n = 8
19 Correct 2 ms 384 KB n = 3
20 Correct 2 ms 384 KB n = 7
21 Correct 3 ms 384 KB n = 8
22 Correct 2 ms 384 KB n = 8
23 Correct 3 ms 512 KB n = 8
24 Correct 2 ms 384 KB n = 8
25 Correct 4 ms 384 KB n = 8
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB n = 2
2 Correct 2 ms 256 KB n = 2
3 Correct 2 ms 356 KB n = 2
4 Correct 2 ms 304 KB n = 2
5 Correct 2 ms 256 KB n = 2
6 Correct 2 ms 256 KB n = 2
7 Correct 2 ms 256 KB n = 3
8 Correct 2 ms 252 KB n = 3
9 Correct 3 ms 256 KB n = 3
10 Correct 2 ms 384 KB n = 8
11 Correct 2 ms 384 KB n = 8
12 Correct 2 ms 384 KB n = 8
13 Correct 3 ms 384 KB n = 8
14 Correct 2 ms 384 KB n = 8
15 Correct 3 ms 384 KB n = 8
16 Correct 2 ms 384 KB n = 8
17 Correct 3 ms 384 KB n = 8
18 Correct 3 ms 384 KB n = 8
19 Correct 2 ms 384 KB n = 3
20 Correct 2 ms 384 KB n = 7
21 Correct 3 ms 384 KB n = 8
22 Correct 2 ms 384 KB n = 8
23 Correct 3 ms 512 KB n = 8
24 Correct 2 ms 384 KB n = 8
25 Correct 4 ms 384 KB n = 8
26 Correct 4 ms 384 KB n = 8
27 Correct 2 ms 384 KB n = 8
28 Correct 2 ms 384 KB n = 8
29 Correct 561 ms 8552 KB n = 16
30 Correct 594 ms 8556 KB n = 16
31 Correct 665 ms 8696 KB n = 16
32 Correct 617 ms 8568 KB n = 16
33 Correct 612 ms 8576 KB n = 16
34 Correct 560 ms 8576 KB n = 16
35 Correct 612 ms 8644 KB n = 16
36 Correct 319 ms 4344 KB n = 15
37 Correct 3 ms 384 KB n = 8
38 Correct 622 ms 8568 KB n = 16
39 Correct 639 ms 8592 KB n = 16
40 Correct 5 ms 384 KB n = 9
41 Correct 720 ms 8568 KB n = 16
42 Correct 780 ms 8568 KB n = 16
43 Correct 653 ms 8696 KB n = 16
44 Correct 3 ms 384 KB n = 9
45 Correct 322 ms 4224 KB n = 15
46 Correct 659 ms 8668 KB n = 16
47 Correct 635 ms 8696 KB n = 16
48 Correct 605 ms 8568 KB n = 16
# Verdict Execution time Memory Grader output
1 Correct 79 ms 4984 KB n = 199999
2 Incorrect 101 ms 5004 KB answer is not correct: 0 instead of 1
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB n = 2
2 Correct 2 ms 256 KB n = 2
3 Correct 2 ms 356 KB n = 2
4 Correct 2 ms 304 KB n = 2
5 Correct 2 ms 256 KB n = 2
6 Correct 2 ms 256 KB n = 2
7 Correct 2 ms 256 KB n = 3
8 Correct 2 ms 252 KB n = 3
9 Correct 3 ms 256 KB n = 3
10 Correct 2 ms 384 KB n = 8
11 Correct 2 ms 384 KB n = 8
12 Correct 2 ms 384 KB n = 8
13 Correct 3 ms 384 KB n = 8
14 Correct 2 ms 384 KB n = 8
15 Correct 3 ms 384 KB n = 8
16 Correct 2 ms 384 KB n = 8
17 Correct 3 ms 384 KB n = 8
18 Correct 3 ms 384 KB n = 8
19 Correct 2 ms 384 KB n = 3
20 Correct 2 ms 384 KB n = 7
21 Correct 3 ms 384 KB n = 8
22 Correct 2 ms 384 KB n = 8
23 Correct 3 ms 512 KB n = 8
24 Correct 2 ms 384 KB n = 8
25 Correct 4 ms 384 KB n = 8
26 Correct 4 ms 384 KB n = 8
27 Correct 2 ms 384 KB n = 8
28 Correct 2 ms 384 KB n = 8
29 Correct 561 ms 8552 KB n = 16
30 Correct 594 ms 8556 KB n = 16
31 Correct 665 ms 8696 KB n = 16
32 Correct 617 ms 8568 KB n = 16
33 Correct 612 ms 8576 KB n = 16
34 Correct 560 ms 8576 KB n = 16
35 Correct 612 ms 8644 KB n = 16
36 Correct 319 ms 4344 KB n = 15
37 Correct 3 ms 384 KB n = 8
38 Correct 622 ms 8568 KB n = 16
39 Correct 639 ms 8592 KB n = 16
40 Correct 5 ms 384 KB n = 9
41 Correct 720 ms 8568 KB n = 16
42 Correct 780 ms 8568 KB n = 16
43 Correct 653 ms 8696 KB n = 16
44 Correct 3 ms 384 KB n = 9
45 Correct 322 ms 4224 KB n = 15
46 Correct 659 ms 8668 KB n = 16
47 Correct 635 ms 8696 KB n = 16
48 Correct 605 ms 8568 KB n = 16
49 Correct 79 ms 4984 KB n = 199999
50 Incorrect 101 ms 5004 KB answer is not correct: 0 instead of 1
51 Halted 0 ms 0 KB -