[ 솔루션 ]
[ 참고 소스 코드 ]
더보기
#include <iostream>
using namespace std;
int main()
{
freopen("input.txt", "r", stdin);
freopen("output.txt", "w",stdout);
int d[52][52]= {0, };
int cut[52];
int len, n, i, j, k;
cin >> len;
cin >> n;
for(i=1;i<=n;i++)
cin >> cut[i];
cut[0] = 0;
cut[n+1] = len;
for(j=0;j<=n;j++)
d[j][j+1] = 0;
for(i=2;i<=n+1;i++)
{
for(j=0;j<=n-i+1;j++)
{
d[j][j+i] = 0x7fffffff;
for(k=j+1;k<j+i;k++)
{
if(d[j][k] + d[k][j+i] + cut[j+i] - cut[j] < d[j][j+i])
d[j][j+i] = d[j][k] + d[k][j+i] + cut[j+i] - cut[j];
}
}
}
cout << d[0][n+1];
}
'25년 경시대회 준비' 카테고리의 다른 글
[ 문제 ] 건초 고르기 (0) | 2025.04.08 |
---|---|
[ 문제 ] 주간 수당 (0) | 2025.04.08 |
[ 문제 ] 와일드 카드 (0) | 2025.04.08 |
[ 문제 ] 두더지 게임 (0) | 2025.04.07 |
[ 문제 ] 사과 받기 (0) | 2025.04.04 |