B

来源:互联网 发布:天魂网络 编辑:程序博客网 时间:2024/04/27 18:37

Description

Igor has fallen in love with Tanya. Now Igor wants to show his feelings and write a number on the fence opposite to Tanya's house. Igor thinks that the larger the number is, the more chance to win Tanya's heart he has.

Unfortunately, Igor could only get v liters of paint. He did the math and concluded that digit d requires ad liters of paint. Besides, Igor heard that Tanya doesn't like zeroes. That's why Igor won't use them in his number.

Help Igor find the maximum number he can write on the fence.

Input

The first line contains a positive integer v(0 ≤ v ≤ 106). The second line contains nine positive integers a1, a2, ..., a9(1 ≤ ai ≤ 105).

Output

Print the maximum number Igor can write on the fence. If he has too little paint for any digit (so, he cannot write anything), print -1.

Sample Input

Input
55 4 3 2 1 2 3 4 5
Output
55555
Input
29 11 1 12 5 8 9 10 6
Output
33
Input
01 1 1 1 1 1 1 1 1
Output
-1
题意:

就是有v升油漆,一个i需要ai的油漆,看怎么写写的数最大

分析:

先找位数,位数越多,数越大,然后再尽量输出更大的

代码:

#include<bits/stdc++.h>using namespace std;int main(){    long int n,i,a[10],l,m,r,k,q,t;    while(cin>>n)    {        for(i=1;i<10;i++)            cin>>a[i];        for(i=2,k=a[1],l=1;i<10;i++)            if(k>=a[i]){                k=a[i];                l=i;            }        m=n/k;        if(m){        for(i=9,t=n%k;i>l;i--){            q=a[i]-k;            r=t/q;            t-=r*q;            while(r)            {                cout<<i;                r--;                m--;            }        }        for(i=0;i<m;i++)            cout<<l;        }        else            cout<<"-1";       cout<<endl;    }}

感受:

一开始想成只要位数大就可以了,后来改了,一直不对,我就不用set了,就对了。。。。。再见见鬼了

0 0
原创粉丝点击