1 条题解

  • 0
    @ 2026-4-22 19:23:38
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e6+10;
    int a[N],ans[N];
    signed main()
    {
    	int n;cin>>n;
    	for(int i=1;i<=9;i++)cin>>a[i];
    	int mn=1e9,id=0;
    	for(int i=1;i<=9;i++)if(mn>=a[i])mn=a[i],id=i;
    	int len=n/mn;
    	for(int i=1;i<=len;i++)ans[i]=id;
    	n%=a[id];
    	for(int i=1;i<=len;i++)
    	{
    		bool bk=1;
    		for(int j=9;j>id;j--)if(a[j]-a[id]<=n)
    		{
    			n-=a[j]-a[id];
    			ans[i]=j;
    			bk=0;break;
    		}
    		if(bk)break;
    	}
    	for(int i=1;i<=len;i++)cout<<ans[i];
    	return 0;
    }
    • 1

    信息

    ID
    10038
    时间
    2000ms
    内存
    1024MiB
    难度
    10
    标签
    递交数
    3
    已通过
    2
    上传者