#include #include #include #include #include #include #include #include #include #include using namespace std; int n,m,a[500]; //i番目の荷物をj番目に送る際の最小コスト int dp[500][500]; int main() { //入力 cin >> n >> m; for(int i = 0; i < n; i++){cin >> a[i];a[i]--;} //初期条件 for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) { dp[i][j] = abs(i-j); } } for(int i = 0; i < m; i++) { for(int j=0; j= 0; k--) { mcost++; mcost = min(mcost, dp[j][k]); dp[j][k] = mcost; } } } for(int j = 1; j < n; j++) cout << dp[j][0] << " "; cout << endl; }