# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1272375 | scalifrastico_098 | Aliens (IOI16_aliens) | C++20 | 0 ms | 0 KiB |
#include "aliens.h"
#include <bits/stdc++.h>
using namespace std;
long long take_photos(int n, int m, int k, vector<int> r, vector<int> c) {
sort(r.begin(), r.end()); vector<vector<int>> dp(n, vector<int>(k));
dp[0][0]=0; k=min(k, n);
for(int p=1; p<=k; p++)
{
dp[p][0]=0; ; i<n; i++)
for(int i=1; i<=n; i++)
{
int ans=INT_MAX;
for(int j=1; j<=i; j++)
{
ans=min(ans, dp[p-1][j-1]+(r[i-1]-r[j-1]+1)*(r[i-1]-r[j-1]+1));
}
dp[p][i]=ans;
}
}
int ans=INT_MAX;
for(int i=1; i<=k; i++)ans=min(ans, dp[i][n]);
return ans;
}