题目描述
欢迎来到小俎的股票交易市场,由于我们现在的资源非常紧缺,因此只允许你交易一种股票。当然啦,我们也希望你可以在这里获利。
在清晨时,你有 $n$ 种机会可以购买股票,其中第 $i$ 种需要花费 $s_i$ 枚硬币购买,你可以购买任意数量的股票(硬币足够的情况下)。
在傍晚时,你有 $m$ 种机会可以出售股票,其中第 $i$ 种方案出售获得 $b_i$ 枚硬币,当然,你最多只能卖掉你持有的这些股票。
清晨时,你拥有 $r$ 枚硬币,在傍晚交易结束后请问你最多可以拥有多少枚硬币?
输入
第一行输入三个整数 $n,m,r\ (1 \leq n \leq 30,1 \leq m \leq 30,1 \leq r \leq 1000)$。
接下来的一行输入 $n$ 个整数 $s_1,s_2,\dots,s_n$,其中 $1\le s_i \le 1000$。
最后的一行输入 $m$ 个整数 $b_1,b_2,\dots,b_m$,其中 $1 \le b_i \le 1000$。
输出
输出一个整数,代表交易结束后你所能拥有的最大硬币数。
样例输入
3 4 11
4 2 5
4 4 5 4
样例输出
26
参考代码
#include<stdio.h>
int main()
{
int n,m,r;
int s,b;
scanf("%d%d%d",&n,&m,&r);
int n1[n],m1[m];
int i,s1,s2;
int max=-1,min=1000;
for (i=0;i<n;i++)
{
scanf("%d",&n1[i]);
if(n1[i]<min)
min=n1[i];
}
for (i=0;i<m;i++)
{
scanf("%d",&m1[i]);
if(m1[i]>max)
max=m1[i];
}
s1=r%min;
s2=r/min;
s2=s2*max+s1;
if(s2>r)
{
printf("%dn",s2);
}
else
printf("%dn",r);
return 0;
}
解析
暂无