被这道题卡了蛮久,只考虑到了位数最大,没想到要尽可能小以给高位腾出更多空间。
附AC代码:
1 #include2 using namespace std; 3 4 int a[10]; 5 6 const int INF=1<<30; 7 8 int main(){ 9 int v,temp=0;10 int Max=0;11 int Min=INF;12 cin>>v;13 for(int i=1;i<=9;i++){14 cin>>a[i];15 if(v/a[i]>Max||a[temp]==a[i]){16 Max=v/a[i];17 temp=i;18 }19 if(a[i]<=Min){20 Min=a[i];21 }22 }23 if(Max==0){24 cout<<-1< 0&&v+a[temp]>=Min){38 int t;39 for(int i=9;i>temp;i--){40 if(a[i]<=v+a[temp]){41 cout<