// Codeforces Round #202 (Div. 2) B Color The Fence
// Problem: http://codeforces.com/contest/349/problem/B
import java.io.*;
import java.math.*;
import java.util.*;
//Codeforces
public class MainCodeforces1 {
private static MyScanner in;
private static PrintStream out;
private static boolean LOCAL_TEST = false;
private static void solve() throws IOException
{
int v = in.nextInt();
int[] a = new int[10];
int minA = Integer.MAX_VALUE;
int aa = 0;
for (int i = 1; i <= 9; i++) {
a[i] = in.nextInt();
if (a[i] <= minA) {
minA = a[i];
aa = i;
}
}
if (minA > v) {
out.println(-1);
return;
}
int nDigit = v / minA;
int[] res = new int[nDigit];
for (int i = 0; i < res.length; i++) {
res[i] = aa;
}
int rem = v - (nDigit * minA);
int pos = 0;
while (rem > 0) {
boolean replace = false;
for (int i = 9; i > aa; i--) {
int x = a[i] - minA;
if (rem >= x) {
rem = rem - x;
res[pos] = i;
replace = true;
break;
}
}
if (!replace)
break;
pos++;
if (pos == nDigit)
break;
}
StringBuilder sb = new StringBuilder(nDigit);
for (int i = 0; i < res.length; i++) {
sb.append(Integer.toString(res[i]));
}
out.println(sb.toString());
}
public static void main(String[] args) throws IOException {
// helpers for input/output
out = System.out;
try {
String cname = System.getenv("COMPUTERNAME");
if (!cname.equals(""))
LOCAL_TEST = true;
} catch (Exception e) {
}
if (LOCAL_TEST) {
in = new MyScanner("E:\\zin.txt");
}
else {
boolean usingFileForIO = false;
if (usingFileForIO) {
// using input.txt and output.txt as I/O
in = new MyScanner("input.txt");
out = new PrintStream("output.txt");
}
else {
in = new MyScanner();
out = System.out;
}
}
solve();
}
// =====================================
static class MyScanner {
BufferedReader bufReader;
StringTokenizer strTok;
public MyScanner() throws IOException
{
bufReader = new BufferedReader(new InputStreamReader(System.in));
strTok = new StringTokenizer("");
}
public MyScanner(String inputFile) throws IOException {
bufReader = new BufferedReader(new InputStreamReader(new FileInputStream(
inputFile)));
strTok = new StringTokenizer("");
}
String GetNextToken() throws IOException {
if (!strTok.hasMoreTokens())
strTok = new StringTokenizer(bufReader.readLine());
return strTok.nextToken();
}
public int nextInt() throws IOException {
return Integer.valueOf(GetNextToken());
}
public long nextLong() throws IOException {
return Long.valueOf(GetNextToken());
}
public double nextDouble() throws IOException {
return Double.valueOf(GetNextToken());
}
public String nextString() throws IOException {
return GetNextToken();
}
public String nextLine() throws IOException {
return bufReader.readLine();
}
public int countTokens() {
return strTok.countTokens();
}
public boolean hasMoreTokens() {
return strTok.hasMoreTokens();
}
}
}
No comments:
Post a Comment