【题解】
跑出使用操作二0到n-1次时获得i种肥猪的最小花费b[i]和加上执行操作二的花费后的总花费,更新最小答案。整体使用操作二x次时,获得i种肥猪可使用操作二[0,x]次。时间复杂度 O(n^2) 。
【代码】
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
ll a[2005],b[2005],x,ans=0;
int n; scanf("%d%lld",&n,&x);
for(int i=0;i<n;i++)
{
scanf("%lld",&a[i]);
ans+=a[i];
b[i]=a[i];
}
for(int k=1;k<n;k++)
{
ll sum=x*k;
for(int i=0;i<n;i++)
{
b[i]=min(b[i],a[(i-k+n)%n]);
sum+=b[i];
}
ans=min(ans,sum);
}
printf("%lld",ans);
return 0;
}