#include <bits/stdc++.h>
#include "aliens.h"
using ll = long long;
using namespace std;
const int MAXN = 1e3 + 10;
int dp[MAXN][MAXN], marc[MAXN];
int s[MAXN][MAXN];
int first_solve(int n, int m, int k, vector<int> r, vector<int> c){
for(int i=1; i<=m; i++){
for(int j=1; j<=m; j++){
s[i][j] = 0;
}
}
for(int i=0; i<n; i++){
r[i] ++;
c[i] ++;
if(r[i] < c[i]) swap(r[i], c[i]);
for(int j=c[i]; j<=r[i]; j++){
for(int k=c[i]; k<=r[i]; k++){
s[j][k] ++;
}
}
}
int cnt = 0;
for(int i=1; i<=m; i++){
for(int j=1; j<=m; j++){
if(s[i][j] > 0) cnt ++;
}
}
return cnt;
}
ll take_photos(int n, int m, int k, vector<int> r, vector<int> c){
if(k == n) return first_solve(n, m, k, r, c);
for(int i=1; i<=m; i++) marc[i] = 0;
for(int i=0; i<n; i++) marc[r[i] + 1] ++;
for(int i=1; i<=m; i++){
for(int l=0; l<=k; l++){
dp[i][l] = 1e9;
if(!marc[i]) dp[i][l] = dp[i - 1][l];
if(l == 0) continue;
for(int j=0; j<i; j++){
dp[i][l] = min(dp[i][l], dp[j][l - 1] + (i - j) * (i - j));
}
}
}
return dp[m][k];
}
Compilation message (stderr)
aliens.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
aliens_c.h:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |