题目:http://www.joyoi.cn/problem/tyvj-1015
水题。连优化都不用。
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int n,a[15]; long long d[105]; int main() { for(int i=1;i<=10;i++) scanf("%d",&a[i]); memset(d,11,sizeof d); d[0]=0; scanf("%d",&n); for(int i=1;i<=n;i++) for(int j=i-1;j>=0&&j>=i-10;j--) d[i]=min(d[i],d[j]+a[i-j]); printf("%lld",d[n]); return 0; }