#include using namespace std; #define rep(i,a,b) for(int i=a;i> N; rep(i, 0, N) cin >> M[i]; rep(i, 0, 1 << N) dp[i] = INF; dp[0] = 0; rep(ma, 0, 1 << N) { rep(i, 0, N) if (!(ma & (1 << i))) { int mama = ma + (1 << i); int discount = 0; rep(j, 0, N) if (ma & (1 << j)) discount += M[j]; discount %= 1000; int price = max(0, M[i] - discount); dp[mama] = min(dp[mama], dp[ma] + price); } } cout << dp[(1 << N) - 1] << endl; }