#include "aliens.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define all(x) (x).begin(), (x).end()
#define REP(i, l, r) for (int i = (l); i < (r); ++i)
#define sz(x) int(x.size())
long long take_photos(int n, int m, int K,vector<int> r,vector<int> c) {
vector<pair<int, int>> pts(n);
REP(i, 0, n) {
if (r[i]>c[i])swap(r[i],c[i]);
pts[i]=make_pair(r[i],c[i]);
}
sort(all(pts));
{
vector<pair<int, int>> pts2;
for(int i=0;i<n;i++) {
if (i!=n-1 && pts[i].first==pts[i+1].first)continue;
pts2.push_back(pts[i]);
}
pts=pts2;
n=sz(pts);
}
{
vector<pair<int, int>> pts2;
int mx_c=-1;
for(int i=0;i<n;i++) {
if(pts[i].second<=mx_c)continue;
pts2.push_back(pts[i]);
mx_c=max(mx_c,pts[i].second);
}
pts=pts2;
n=sz(pts);
}
vector<vector<ll>> dp(n+1,vector<ll>(K+1,1LL<<60));
dp[0][0]=0;
for(int i=1;i<=n;i++){
for(int j=0;j<i;j++){
ll diff=pts[i-1].second-pts[j].first+1;
ll cost=diff*diff;
for(int k=0;k<K;k++)dp[i][k+1]=min(dp[i][k+1],dp[j][k]+cost);
}
}
ll ans=1LL<<60;
for(int i=0;i<=K;i++)ans=min(ans,dp[n][i]);
return ans;
}
컴파일 시 표준 에러 (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... |