3183-2020-Java-国赛-4-1
看题看半天看不懂,原来它这个包装数量是指能装的商品数量
啊,这个价格指的不是单个包装的价格,而是包装里包含商品的总价
100 80 200 150
意思是,第一种100个80块,第二种200个150块
有三种可能:
5 0:400-100=300
3 1:240+150-50=340
1 2:80+300-50=330
import java.io.*;
import java.util.StringTokenizer;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer tokenizer = new StringTokenizer(reader.readLine());
int num1 = Integer.parseInt(tokenizer.nextToken());
int price1 = Integer.parseInt(tokenizer.nextToken());
int num2 = Integer.parseInt(tokenizer.nextToken());
int price2 = Integer.parseInt(tokenizer.nextToken());
if(num1>500&&num2>500){
System.out.print(-1);
return;
}
int min1=0,min2=0;
int sum=Integer.MAX_VALUE;
int j,temp;
for(int i = 0;i<=500/num1;i++){
if((500-i*num1)%num2==0){
j=(500-i*num1)/num2;
temp=(i*price1+j*price2)-((i*price1+j*price2)/200)*50;
if(temp<sum){
sum = temp;
min1=i;
min2=j;
}
}
}
if((min1+min2)>0) System.out.print(min1+" "+min2);
else System.out.print(-1);
}
}