Meituan Spring Recruitment Practice Questions-Programming Question Set 1
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
int[] starts = new int[5];
double sum = 0.0;
int count = 0;
for (int i = 0; i < 5; i++) {
starts[i] = read.nextInt();
sum += starts[i] * (i + 1);
count += starts[i];
}
//利用int转型,去尾
//DecimalFormat df = new DecimalFormat( "0.00000");
//System.out.println(df.format(b));
//保留4位,但是会四舍五入
sum = sum / count * 10;
int res = (int) sum;
System.out.println((double)res/10);
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
int n = read.nextInt();
int[] nums = new int[n];
int count = 0;
for (int i = 0; i < n; i++) {
nums[i] = read.nextInt();
}
boolean falg = true;
//进行两两合并,被合并的变成0,
while(falg){
for(int i = 0; i < n-1; ){
int j = i+1;
while(nums[j] == 0){
j++;
}
if(nums[i] == nums[j]){
nums[i]++;
count++;
nums[j] = 0;
falg = false;
i = j+1;
}
else{
i = j;
}
}
falg = !falg;
}
System.out.println(count);
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
int n = read.nextInt();
int value = 0;
int spend = 0;
for (int i = 0; i < n; i++) {
int[] temp = new int[2];
temp[0] = read.nextInt();
temp[1] = read.nextInt();
if(temp[0] > temp[1]){
value += temp[0];
spend += temp[0]-temp[1];
}
else{
value += temp[1];
}
}
System.out.println(value+" "+spend);
}
}
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner read = new Scanner(System.in);
int n = read.nextInt();
int dis = 0;
List<int[]> list = new ArrayList<>();
for (int i = 0; i < n - 1; i++) {
int[] nums = new int[3];
nums[0] = read.nextInt();
nums[1] = read.nextInt();
nums[2] = read.nextInt();
dis += nums[2]*2;
list.add(nums);
}
int[] dp = new int[n + 1];
Arrays.fill(dp, -1);
dp[1] = 0;
boolean falg = true;
while (falg) {
for (int i = 0; i < n - 1; i++) {
int[] temp = list.get(i);
if (dp[temp[0]] != -1 && dp[temp[1]] == -1) {
dp[temp[1]] = dp[temp[0]] + temp[2];
falg = false;
}
}
falg = !falg;
}
int maxdis = 0;
int sum = 0;
for (int i = 1; i < n + 1; i++) {
maxdis = Math.max(maxdis, dp[i]);
sum += dp[i];
}
System.out.println(sum + " " + (dis - maxdis));
}
}