光大银行信息科技部 技术综合试卷在线考试
编程题|25.0分1/2
曹老板的求贤令(AC)
时间限制: 3000MS
内存限制: 589824KB
题目描述:
曹老板准备攻打吕布,为扩充战力颁布了求贤令。目前一共有n人前来应征。
曹老板看重武力值和智力值两个指标,但一项多疑的曹老板担心能力过高的人自己驾驭不住,于是只想招武力值X与智力值Y之和小于等于某个数t的人。
曹老板想至少招收k人,他想知道最小的t是多少。
输入描述
第一行两个数n,k。1≤n,x[i],y[i]≤100,000
接下来n行,每行两个数x[i],y[i]分别表示第i个应征者的武力值和智力值
输出描述
一个数表示答案。
样例输入
3 2
96 75
97 30
85 90
样例输出
171
提示
三名应征者的能力值为96+75,97+30,85+90,曹老板设置的指标为t=171,如此可以将其中二人纳入麾下。
规则
请尽量在全场考试结束10分钟前调试程序,否则由于密集排队提交,可能查询不到编译结果
点击“调试”亦可保存代码
编程题可以使用本地编译器,此页面不记录跳出次数
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[] nums = new int[n];
for(int i = 0; i < n; i++){
int x = sc.nextInt();
int y = sc.nextInt();
nums[i] = x+y;
}
Arrays.sort(nums);
System.out.println(nums[k-1]);
}
}
糖果卡(AC)
时间限制: 3000MS
内存限制: 589824KB
题目描述:
小明最近喜欢上了一种美味的糖果。这种糖果不仅好吃,而且在每盒糖果中还有一张糖果卡。通过收集这些糖果卡可以参与“免费畅游中国”的抽奖活动。具体规则如下:
(1) 糖果卡一共有三种,分别是A卡、B卡和C卡。
(2) 卡片之间进行兑换,3张A卡可以换1张B卡,2张B卡可以换一张C卡。
(3) 集齐一套卡(A卡、B卡和C卡各一张)可以参与一次抽奖。
现在告诉你小明已经拥有的A卡、B卡和C卡的张数,请问他最多可以参与几次抽奖?
输入描述
单组输入。
输入1行,包含三个不超过100000000的正整数,分别表示小明已经拥有的A卡、B卡和C卡的张数,三个正整数之间用空格隔开。
输出描述
输出小明最多可以参与的抽奖次数。
样例输入
8 2 1
样例输出
2
规则
请尽量在全场考试结束10分钟前调试程序,否则由于密集排队提交,可能查询不到编译结果
点击“调试”亦可保存代码
编程题可以使用本地编译器,此页面不记录跳出次数
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int na = sc.nextInt();
int nb = sc.nextInt();
int nc = sc.nextInt();
//找到三者中的最小值
int count = ((na > nb ? nb : na) > nc ? nc : (na > nb ? nb : na));
na -= count;
nb -= count;
nc -= count;
while(true){
if(na >= 1 && nb >= 1 && nc >= 1){
count++;
na--;
nb--;
nc--;
}
if(nc == 0){
if(nb >= 3){ //2个B换一个C
nc+=1;
nb-=2;
}else if(na >= 7){ //6个A换一个C
nc+=1;
na-=6;
}else{
break;
}
}
if(nb == 0){
if(na >= 4){ //3个A换一个B
nb+=1;
na-=3;
}else{
break;
}
}
if(na == 0){
break;
}
}
System.out.println(count);
}
}