Submission #284598

# Submission time Handle Problem Language Result Execution time Memory
284598 2020-08-27T17:11:51 Z A02 Aliens (IOI16_aliens) C++14
16 / 100
124 ms 1280 KB
#include <vector>
#include <string>
#include <set>
#include <algorithm>
#include <iostream>
#include <utility>

#include "aliens.h"

using namespace std;

long long take_photos(int n, int m, int k, std::vector<int> r, std::vector<int> c) {

    if (k == n && m <= 100){

        int total = 0;
        for (int i = 0; i < m; i++){
            for (int j = 0; j < m; j++){
                bool good = false;

                for (int a = 0; a < n; a++){
                    if (i <= max(r[a], c[a]) && j <= max(r[a], c[a]) && i >= min(r[a], c[a]) && j >= min(r[a], c[a])){
                        good = true;
                    }
                }

                if (good){
                    total++;
                }
            }
        }

        return total;

    }

    bool is_central = true;

    for (int i = 0; i < n; i++){
        if (r[i] != c[i]){
            is_central = false;
        }
    }

    if (is_central && n <= 500 && m <= 1000){

        vector<int> locations;

        for (int i = 0; i < n; i++){
            if (find(locations.begin(), locations.end(), r[i]) == locations.end()){
                locations.push_back(r[i]);
            }
        }

        sort(locations.begin(), locations.end());

        n = locations.size();

        vector<vector<int> > DPnk (n, vector<int> (k + 1, m * m));

        for (int N = 0; N < n; N++){
            for (int K = 1; K <= k; K++){

                DPnk[N][K] = (locations[N] - locations[0] + 1) * (locations[N] - locations[0] + 1);

                for (int n1 = 1; n1 <= N; n1++){
                    DPnk[N][K] = min(DPnk[N][K], DPnk[n1 - 1][K - 1] + (locations[N] - locations[n1] + 1) * (locations[N] - locations[n1] + 1));
                }

            }
        }

        return DPnk[n - 1][k];

    }

    return -5;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Correct answer: answer = 4
2 Correct 1 ms 256 KB Correct answer: answer = 4
3 Correct 1 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 1 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 256 KB Correct answer: answer = 88
8 Correct 1 ms 256 KB Correct answer: answer = 7696
9 Correct 1 ms 256 KB Correct answer: answer = 1
10 Correct 1 ms 256 KB Correct answer: answer = 2374
11 Correct 2 ms 256 KB Correct answer: answer = 9502
12 Correct 0 ms 384 KB Correct answer: answer = 49
13 Correct 1 ms 256 KB Correct answer: answer = 151
14 Correct 1 ms 256 KB Correct answer: answer = 7550
15 Correct 1 ms 256 KB Correct answer: answer = 7220
16 Correct 1 ms 256 KB Correct answer: answer = 7550
17 Correct 1 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 1 ms 256 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Correct answer: answer = 1
2 Correct 1 ms 256 KB Correct answer: answer = 4
3 Correct 1 ms 256 KB Correct answer: answer = 1
4 Correct 0 ms 256 KB Correct answer: answer = 5
5 Correct 1 ms 256 KB Correct answer: answer = 41
6 Correct 1 ms 256 KB Correct answer: answer = 71923
7 Correct 1 ms 384 KB Correct answer: answer = 77137
8 Correct 44 ms 768 KB Correct answer: answer = 764
9 Correct 1 ms 384 KB Correct answer: answer = 250000
10 Correct 124 ms 1280 KB Correct answer: answer = 500
11 Correct 1 ms 256 KB Correct answer: answer = 32
12 Correct 1 ms 384 KB Correct answer: answer = 130050
13 Correct 11 ms 384 KB Correct answer: answer = 5110
14 Correct 2 ms 384 KB Correct answer: answer = 2626
15 Correct 5 ms 384 KB Correct answer: answer = 796
16 Correct 8 ms 384 KB Correct answer: answer = 7580
17 Correct 29 ms 640 KB Correct answer: answer = 1904
18 Correct 1 ms 384 KB Correct answer: answer = 996004
19 Correct 4 ms 384 KB Correct answer: answer = 38817
20 Correct 14 ms 512 KB Correct answer: answer = 4096
21 Correct 1 ms 256 KB Correct answer: answer = 1
22 Correct 1 ms 384 KB Correct answer: answer = 1
23 Correct 40 ms 640 KB Correct answer: answer = 2040
24 Correct 1 ms 256 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Correct answer: answer = 4
2 Correct 1 ms 256 KB Correct answer: answer = 4
3 Correct 1 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 1 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 256 KB Correct answer: answer = 88
8 Correct 1 ms 256 KB Correct answer: answer = 7696
9 Correct 1 ms 256 KB Correct answer: answer = 1
10 Correct 1 ms 256 KB Correct answer: answer = 2374
11 Correct 2 ms 256 KB Correct answer: answer = 9502
12 Correct 0 ms 384 KB Correct answer: answer = 49
13 Correct 1 ms 256 KB Correct answer: answer = 151
14 Correct 1 ms 256 KB Correct answer: answer = 7550
15 Correct 1 ms 256 KB Correct answer: answer = 7220
16 Correct 1 ms 256 KB Correct answer: answer = 7550
17 Correct 1 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 1 ms 256 KB Correct answer: answer = 10000
21 Correct 1 ms 256 KB Correct answer: answer = 1
22 Correct 1 ms 256 KB Correct answer: answer = 4
23 Correct 1 ms 256 KB Correct answer: answer = 1
24 Correct 0 ms 256 KB Correct answer: answer = 5
25 Correct 1 ms 256 KB Correct answer: answer = 41
26 Correct 1 ms 256 KB Correct answer: answer = 71923
27 Correct 1 ms 384 KB Correct answer: answer = 77137
28 Correct 44 ms 768 KB Correct answer: answer = 764
29 Correct 1 ms 384 KB Correct answer: answer = 250000
30 Correct 124 ms 1280 KB Correct answer: answer = 500
31 Correct 1 ms 256 KB Correct answer: answer = 32
32 Correct 1 ms 384 KB Correct answer: answer = 130050
33 Correct 11 ms 384 KB Correct answer: answer = 5110
34 Correct 2 ms 384 KB Correct answer: answer = 2626
35 Correct 5 ms 384 KB Correct answer: answer = 796
36 Correct 8 ms 384 KB Correct answer: answer = 7580
37 Correct 29 ms 640 KB Correct answer: answer = 1904
38 Correct 1 ms 384 KB Correct answer: answer = 996004
39 Correct 4 ms 384 KB Correct answer: answer = 38817
40 Correct 14 ms 512 KB Correct answer: answer = 4096
41 Correct 1 ms 256 KB Correct answer: answer = 1
42 Correct 1 ms 384 KB Correct answer: answer = 1
43 Correct 40 ms 640 KB Correct answer: answer = 2040
44 Correct 1 ms 256 KB Correct answer: answer = 2
45 Incorrect 1 ms 256 KB Wrong answer: output = -5, expected = 4
46 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Correct answer: answer = 4
2 Correct 1 ms 256 KB Correct answer: answer = 4
3 Correct 1 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 1 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 256 KB Correct answer: answer = 88
8 Correct 1 ms 256 KB Correct answer: answer = 7696
9 Correct 1 ms 256 KB Correct answer: answer = 1
10 Correct 1 ms 256 KB Correct answer: answer = 2374
11 Correct 2 ms 256 KB Correct answer: answer = 9502
12 Correct 0 ms 384 KB Correct answer: answer = 49
13 Correct 1 ms 256 KB Correct answer: answer = 151
14 Correct 1 ms 256 KB Correct answer: answer = 7550
15 Correct 1 ms 256 KB Correct answer: answer = 7220
16 Correct 1 ms 256 KB Correct answer: answer = 7550
17 Correct 1 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 1 ms 256 KB Correct answer: answer = 10000
21 Correct 1 ms 256 KB Correct answer: answer = 1
22 Correct 1 ms 256 KB Correct answer: answer = 4
23 Correct 1 ms 256 KB Correct answer: answer = 1
24 Correct 0 ms 256 KB Correct answer: answer = 5
25 Correct 1 ms 256 KB Correct answer: answer = 41
26 Correct 1 ms 256 KB Correct answer: answer = 71923
27 Correct 1 ms 384 KB Correct answer: answer = 77137
28 Correct 44 ms 768 KB Correct answer: answer = 764
29 Correct 1 ms 384 KB Correct answer: answer = 250000
30 Correct 124 ms 1280 KB Correct answer: answer = 500
31 Correct 1 ms 256 KB Correct answer: answer = 32
32 Correct 1 ms 384 KB Correct answer: answer = 130050
33 Correct 11 ms 384 KB Correct answer: answer = 5110
34 Correct 2 ms 384 KB Correct answer: answer = 2626
35 Correct 5 ms 384 KB Correct answer: answer = 796
36 Correct 8 ms 384 KB Correct answer: answer = 7580
37 Correct 29 ms 640 KB Correct answer: answer = 1904
38 Correct 1 ms 384 KB Correct answer: answer = 996004
39 Correct 4 ms 384 KB Correct answer: answer = 38817
40 Correct 14 ms 512 KB Correct answer: answer = 4096
41 Correct 1 ms 256 KB Correct answer: answer = 1
42 Correct 1 ms 384 KB Correct answer: answer = 1
43 Correct 40 ms 640 KB Correct answer: answer = 2040
44 Correct 1 ms 256 KB Correct answer: answer = 2
45 Incorrect 1 ms 256 KB Wrong answer: output = -5, expected = 4
46 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Correct answer: answer = 4
2 Correct 1 ms 256 KB Correct answer: answer = 4
3 Correct 1 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 1 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 256 KB Correct answer: answer = 88
8 Correct 1 ms 256 KB Correct answer: answer = 7696
9 Correct 1 ms 256 KB Correct answer: answer = 1
10 Correct 1 ms 256 KB Correct answer: answer = 2374
11 Correct 2 ms 256 KB Correct answer: answer = 9502
12 Correct 0 ms 384 KB Correct answer: answer = 49
13 Correct 1 ms 256 KB Correct answer: answer = 151
14 Correct 1 ms 256 KB Correct answer: answer = 7550
15 Correct 1 ms 256 KB Correct answer: answer = 7220
16 Correct 1 ms 256 KB Correct answer: answer = 7550
17 Correct 1 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 1 ms 256 KB Correct answer: answer = 10000
21 Correct 1 ms 256 KB Correct answer: answer = 1
22 Correct 1 ms 256 KB Correct answer: answer = 4
23 Correct 1 ms 256 KB Correct answer: answer = 1
24 Correct 0 ms 256 KB Correct answer: answer = 5
25 Correct 1 ms 256 KB Correct answer: answer = 41
26 Correct 1 ms 256 KB Correct answer: answer = 71923
27 Correct 1 ms 384 KB Correct answer: answer = 77137
28 Correct 44 ms 768 KB Correct answer: answer = 764
29 Correct 1 ms 384 KB Correct answer: answer = 250000
30 Correct 124 ms 1280 KB Correct answer: answer = 500
31 Correct 1 ms 256 KB Correct answer: answer = 32
32 Correct 1 ms 384 KB Correct answer: answer = 130050
33 Correct 11 ms 384 KB Correct answer: answer = 5110
34 Correct 2 ms 384 KB Correct answer: answer = 2626
35 Correct 5 ms 384 KB Correct answer: answer = 796
36 Correct 8 ms 384 KB Correct answer: answer = 7580
37 Correct 29 ms 640 KB Correct answer: answer = 1904
38 Correct 1 ms 384 KB Correct answer: answer = 996004
39 Correct 4 ms 384 KB Correct answer: answer = 38817
40 Correct 14 ms 512 KB Correct answer: answer = 4096
41 Correct 1 ms 256 KB Correct answer: answer = 1
42 Correct 1 ms 384 KB Correct answer: answer = 1
43 Correct 40 ms 640 KB Correct answer: answer = 2040
44 Correct 1 ms 256 KB Correct answer: answer = 2
45 Incorrect 1 ms 256 KB Wrong answer: output = -5, expected = 4
46 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB Correct answer: answer = 4
2 Correct 1 ms 256 KB Correct answer: answer = 4
3 Correct 1 ms 256 KB Correct answer: answer = 4
4 Correct 0 ms 256 KB Correct answer: answer = 12
5 Correct 0 ms 256 KB Correct answer: answer = 52
6 Correct 1 ms 256 KB Correct answer: answer = 210
7 Correct 1 ms 256 KB Correct answer: answer = 88
8 Correct 1 ms 256 KB Correct answer: answer = 7696
9 Correct 1 ms 256 KB Correct answer: answer = 1
10 Correct 1 ms 256 KB Correct answer: answer = 2374
11 Correct 2 ms 256 KB Correct answer: answer = 9502
12 Correct 0 ms 384 KB Correct answer: answer = 49
13 Correct 1 ms 256 KB Correct answer: answer = 151
14 Correct 1 ms 256 KB Correct answer: answer = 7550
15 Correct 1 ms 256 KB Correct answer: answer = 7220
16 Correct 1 ms 256 KB Correct answer: answer = 7550
17 Correct 1 ms 256 KB Correct answer: answer = 10000
18 Correct 1 ms 256 KB Correct answer: answer = 10000
19 Correct 2 ms 256 KB Correct answer: answer = 624
20 Correct 1 ms 256 KB Correct answer: answer = 10000
21 Correct 1 ms 256 KB Correct answer: answer = 1
22 Correct 1 ms 256 KB Correct answer: answer = 4
23 Correct 1 ms 256 KB Correct answer: answer = 1
24 Correct 0 ms 256 KB Correct answer: answer = 5
25 Correct 1 ms 256 KB Correct answer: answer = 41
26 Correct 1 ms 256 KB Correct answer: answer = 71923
27 Correct 1 ms 384 KB Correct answer: answer = 77137
28 Correct 44 ms 768 KB Correct answer: answer = 764
29 Correct 1 ms 384 KB Correct answer: answer = 250000
30 Correct 124 ms 1280 KB Correct answer: answer = 500
31 Correct 1 ms 256 KB Correct answer: answer = 32
32 Correct 1 ms 384 KB Correct answer: answer = 130050
33 Correct 11 ms 384 KB Correct answer: answer = 5110
34 Correct 2 ms 384 KB Correct answer: answer = 2626
35 Correct 5 ms 384 KB Correct answer: answer = 796
36 Correct 8 ms 384 KB Correct answer: answer = 7580
37 Correct 29 ms 640 KB Correct answer: answer = 1904
38 Correct 1 ms 384 KB Correct answer: answer = 996004
39 Correct 4 ms 384 KB Correct answer: answer = 38817
40 Correct 14 ms 512 KB Correct answer: answer = 4096
41 Correct 1 ms 256 KB Correct answer: answer = 1
42 Correct 1 ms 384 KB Correct answer: answer = 1
43 Correct 40 ms 640 KB Correct answer: answer = 2040
44 Correct 1 ms 256 KB Correct answer: answer = 2
45 Incorrect 1 ms 256 KB Wrong answer: output = -5, expected = 4
46 Halted 0 ms 0 KB -