// // main.cpp // ceng // // Created by Haoyang Gu on 15-2-2. // Copyright (c) 2015年 Haoyang Gu. All rights reserved. // #include #include #include using namespace std; const int N = 2000, D = 20; const int inf = 99999999; int Prize[N]; int Cost[N+1][D+1]; int rnd (int p) { if(p%10<=4) return p-p%10; else return p-p%10+10; } int main() { int n, d, i, j, k, s; scanf("%d %d\n", &n, &d); for (i = 0; i < n; i++) scanf("%d", &Prize[i]); for (i = 0; i <= n; i++) for (j = 0; j <= d; j++) { if (i == 0) Cost[i][j] = 0; else if (j == 0) { s = 0; for (k = 0; k < i; k++) s += Prize[k]; Cost[i][j] = rnd(s); } else { s = 0; Cost[i][j] = inf; for (k = i-1; k >= 0; k--) { s += Prize[k]; Cost[i][j] = min(Cost[i][j], rnd(s) + Cost[k][j-1]); } } } printf("%d\n", Cost[n][d]); return 0; }