Submission #427298

# Submission time Handle Problem Language Result Execution time Memory
427298 2021-06-14T14:05:25 Z vincentpikachu20 Aliens (IOI16_aliens) C++17
16 / 100
144 ms 2320 KB
#include <bits/stdc++.h>
#include "aliens.h"
#define int long long
using namespace std;

vector<vector<int>> mem;

int dp(vector<int> &a, int n, int i, int k){
    if(mem[i][k] != -1) return mem[i][k];
    if(i == n) return mem[i][k] = 0;
    if(k == 0) return mem[i][k] = 1e18;
    int ans = 1e18;
    for(int j = i; j < n; j ++){
        ans = min(ans, (a[j]-a[i]+1)*(a[j]-a[i]+1) + dp(a,n,j+1,k-1));
    }
    return mem[i][k] = ans;
}

int take_photos(signed n, signed m, signed k, vector<signed> r, vector<signed> c) {
    if(n <= 50 && m <= 100 && k == n){
        int ans = 0;
        vector<vector<bool>> a(m,vector<bool>(m));
        for(int i = 0; i < n; i ++){
            int mi = min(r[i],c[i]);
            int ma = max(r[i],c[i]);
            for(int j = mi; j <= ma; j ++){
                for(int k = mi; k <= ma; k ++){
                    if(!a[j][k]) ans ++;
                    a[j][k] = true;
                }
            }
        }
        return ans;
    }else{
        r.erase(unique(r.begin(), r.end()), r.end());
        sort(r.begin(), r.end());
        vector<int> rr(r.begin(), r.end());
        n = rr.size();
        mem = vector<vector<int>>(n+1,vector<int>(k+1,-1));
        return dp(rr,n,0,k);
    }
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 0 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 220 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 0 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 2 ms 204 KB Correct answer: answer = 7550
17 Correct 2 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 2 ms 204 KB Correct answer: answer = 10000
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 1
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 1 ms 204 KB Correct answer: answer = 1
4 Correct 1 ms 288 KB Correct answer: answer = 5
5 Correct 1 ms 204 KB Correct answer: answer = 41
6 Correct 1 ms 204 KB Correct answer: answer = 71923
7 Correct 2 ms 204 KB Correct answer: answer = 77137
8 Correct 113 ms 1300 KB Correct answer: answer = 764
9 Correct 1 ms 332 KB Correct answer: answer = 250000
10 Correct 144 ms 2320 KB Correct answer: answer = 500
11 Correct 1 ms 204 KB Correct answer: answer = 32
12 Correct 2 ms 332 KB Correct answer: answer = 130050
13 Correct 35 ms 460 KB Correct answer: answer = 5110
14 Correct 5 ms 332 KB Correct answer: answer = 2626
15 Correct 13 ms 460 KB Correct answer: answer = 796
16 Correct 25 ms 460 KB Correct answer: answer = 7580
17 Correct 79 ms 844 KB Correct answer: answer = 1904
18 Correct 1 ms 204 KB Correct answer: answer = 996004
19 Correct 15 ms 292 KB Correct answer: answer = 38817
20 Correct 74 ms 716 KB Correct answer: answer = 4096
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 1
23 Correct 74 ms 716 KB Correct answer: answer = 2040
24 Correct 1 ms 204 KB Correct answer: answer = 2
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 0 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 220 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 0 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 2 ms 204 KB Correct answer: answer = 7550
17 Correct 2 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 2 ms 204 KB Correct answer: answer = 10000
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 4
23 Correct 1 ms 204 KB Correct answer: answer = 1
24 Correct 1 ms 288 KB Correct answer: answer = 5
25 Correct 1 ms 204 KB Correct answer: answer = 41
26 Correct 1 ms 204 KB Correct answer: answer = 71923
27 Correct 2 ms 204 KB Correct answer: answer = 77137
28 Correct 113 ms 1300 KB Correct answer: answer = 764
29 Correct 1 ms 332 KB Correct answer: answer = 250000
30 Correct 144 ms 2320 KB Correct answer: answer = 500
31 Correct 1 ms 204 KB Correct answer: answer = 32
32 Correct 2 ms 332 KB Correct answer: answer = 130050
33 Correct 35 ms 460 KB Correct answer: answer = 5110
34 Correct 5 ms 332 KB Correct answer: answer = 2626
35 Correct 13 ms 460 KB Correct answer: answer = 796
36 Correct 25 ms 460 KB Correct answer: answer = 7580
37 Correct 79 ms 844 KB Correct answer: answer = 1904
38 Correct 1 ms 204 KB Correct answer: answer = 996004
39 Correct 15 ms 292 KB Correct answer: answer = 38817
40 Correct 74 ms 716 KB Correct answer: answer = 4096
41 Correct 1 ms 204 KB Correct answer: answer = 1
42 Correct 1 ms 204 KB Correct answer: answer = 1
43 Correct 74 ms 716 KB Correct answer: answer = 2040
44 Correct 1 ms 204 KB Correct answer: answer = 2
45 Correct 1 ms 204 KB Correct answer: answer = 4
46 Correct 1 ms 292 KB Correct answer: answer = 9
47 Incorrect 1 ms 204 KB Wrong answer: output = 1, expected = 9
48 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 0 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 220 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 0 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 2 ms 204 KB Correct answer: answer = 7550
17 Correct 2 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 2 ms 204 KB Correct answer: answer = 10000
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 4
23 Correct 1 ms 204 KB Correct answer: answer = 1
24 Correct 1 ms 288 KB Correct answer: answer = 5
25 Correct 1 ms 204 KB Correct answer: answer = 41
26 Correct 1 ms 204 KB Correct answer: answer = 71923
27 Correct 2 ms 204 KB Correct answer: answer = 77137
28 Correct 113 ms 1300 KB Correct answer: answer = 764
29 Correct 1 ms 332 KB Correct answer: answer = 250000
30 Correct 144 ms 2320 KB Correct answer: answer = 500
31 Correct 1 ms 204 KB Correct answer: answer = 32
32 Correct 2 ms 332 KB Correct answer: answer = 130050
33 Correct 35 ms 460 KB Correct answer: answer = 5110
34 Correct 5 ms 332 KB Correct answer: answer = 2626
35 Correct 13 ms 460 KB Correct answer: answer = 796
36 Correct 25 ms 460 KB Correct answer: answer = 7580
37 Correct 79 ms 844 KB Correct answer: answer = 1904
38 Correct 1 ms 204 KB Correct answer: answer = 996004
39 Correct 15 ms 292 KB Correct answer: answer = 38817
40 Correct 74 ms 716 KB Correct answer: answer = 4096
41 Correct 1 ms 204 KB Correct answer: answer = 1
42 Correct 1 ms 204 KB Correct answer: answer = 1
43 Correct 74 ms 716 KB Correct answer: answer = 2040
44 Correct 1 ms 204 KB Correct answer: answer = 2
45 Correct 1 ms 204 KB Correct answer: answer = 4
46 Correct 1 ms 292 KB Correct answer: answer = 9
47 Incorrect 1 ms 204 KB Wrong answer: output = 1, expected = 9
48 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 0 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 220 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 0 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 2 ms 204 KB Correct answer: answer = 7550
17 Correct 2 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 2 ms 204 KB Correct answer: answer = 10000
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 4
23 Correct 1 ms 204 KB Correct answer: answer = 1
24 Correct 1 ms 288 KB Correct answer: answer = 5
25 Correct 1 ms 204 KB Correct answer: answer = 41
26 Correct 1 ms 204 KB Correct answer: answer = 71923
27 Correct 2 ms 204 KB Correct answer: answer = 77137
28 Correct 113 ms 1300 KB Correct answer: answer = 764
29 Correct 1 ms 332 KB Correct answer: answer = 250000
30 Correct 144 ms 2320 KB Correct answer: answer = 500
31 Correct 1 ms 204 KB Correct answer: answer = 32
32 Correct 2 ms 332 KB Correct answer: answer = 130050
33 Correct 35 ms 460 KB Correct answer: answer = 5110
34 Correct 5 ms 332 KB Correct answer: answer = 2626
35 Correct 13 ms 460 KB Correct answer: answer = 796
36 Correct 25 ms 460 KB Correct answer: answer = 7580
37 Correct 79 ms 844 KB Correct answer: answer = 1904
38 Correct 1 ms 204 KB Correct answer: answer = 996004
39 Correct 15 ms 292 KB Correct answer: answer = 38817
40 Correct 74 ms 716 KB Correct answer: answer = 4096
41 Correct 1 ms 204 KB Correct answer: answer = 1
42 Correct 1 ms 204 KB Correct answer: answer = 1
43 Correct 74 ms 716 KB Correct answer: answer = 2040
44 Correct 1 ms 204 KB Correct answer: answer = 2
45 Correct 1 ms 204 KB Correct answer: answer = 4
46 Correct 1 ms 292 KB Correct answer: answer = 9
47 Incorrect 1 ms 204 KB Wrong answer: output = 1, expected = 9
48 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Correct answer: answer = 4
2 Correct 1 ms 204 KB Correct answer: answer = 4
3 Correct 0 ms 204 KB Correct answer: answer = 4
4 Correct 1 ms 204 KB Correct answer: answer = 12
5 Correct 1 ms 220 KB Correct answer: answer = 52
6 Correct 1 ms 204 KB Correct answer: answer = 210
7 Correct 1 ms 204 KB Correct answer: answer = 88
8 Correct 1 ms 204 KB Correct answer: answer = 7696
9 Correct 0 ms 204 KB Correct answer: answer = 1
10 Correct 1 ms 204 KB Correct answer: answer = 2374
11 Correct 1 ms 204 KB Correct answer: answer = 9502
12 Correct 1 ms 204 KB Correct answer: answer = 49
13 Correct 1 ms 204 KB Correct answer: answer = 151
14 Correct 1 ms 204 KB Correct answer: answer = 7550
15 Correct 1 ms 204 KB Correct answer: answer = 7220
16 Correct 2 ms 204 KB Correct answer: answer = 7550
17 Correct 2 ms 204 KB Correct answer: answer = 10000
18 Correct 1 ms 204 KB Correct answer: answer = 10000
19 Correct 1 ms 204 KB Correct answer: answer = 624
20 Correct 2 ms 204 KB Correct answer: answer = 10000
21 Correct 1 ms 204 KB Correct answer: answer = 1
22 Correct 1 ms 204 KB Correct answer: answer = 4
23 Correct 1 ms 204 KB Correct answer: answer = 1
24 Correct 1 ms 288 KB Correct answer: answer = 5
25 Correct 1 ms 204 KB Correct answer: answer = 41
26 Correct 1 ms 204 KB Correct answer: answer = 71923
27 Correct 2 ms 204 KB Correct answer: answer = 77137
28 Correct 113 ms 1300 KB Correct answer: answer = 764
29 Correct 1 ms 332 KB Correct answer: answer = 250000
30 Correct 144 ms 2320 KB Correct answer: answer = 500
31 Correct 1 ms 204 KB Correct answer: answer = 32
32 Correct 2 ms 332 KB Correct answer: answer = 130050
33 Correct 35 ms 460 KB Correct answer: answer = 5110
34 Correct 5 ms 332 KB Correct answer: answer = 2626
35 Correct 13 ms 460 KB Correct answer: answer = 796
36 Correct 25 ms 460 KB Correct answer: answer = 7580
37 Correct 79 ms 844 KB Correct answer: answer = 1904
38 Correct 1 ms 204 KB Correct answer: answer = 996004
39 Correct 15 ms 292 KB Correct answer: answer = 38817
40 Correct 74 ms 716 KB Correct answer: answer = 4096
41 Correct 1 ms 204 KB Correct answer: answer = 1
42 Correct 1 ms 204 KB Correct answer: answer = 1
43 Correct 74 ms 716 KB Correct answer: answer = 2040
44 Correct 1 ms 204 KB Correct answer: answer = 2
45 Correct 1 ms 204 KB Correct answer: answer = 4
46 Correct 1 ms 292 KB Correct answer: answer = 9
47 Incorrect 1 ms 204 KB Wrong answer: output = 1, expected = 9
48 Halted 0 ms 0 KB -