蓝桥杯国赛训练 day4
目录
再创新高
蓝桥大使
表演赛
次数差
再创新高
import java.math.*;
import java.util.*;public class Main {static Scanner sc = new Scanner(System.in);public static void main(String[] args) {int t = 1;
// t=sc.nextInt();for(int i=0;i<t;i++) {solve();}} public static void solve() {int n=sc.nextInt();long arr[]=new long[n];for(int i=0;i<n;i++) {arr[i]=sc.nextLong();}long max=Long.MIN_VALUE;long cnt=0;for(int i=0;i<n;i++) {if(arr[i]>max)cnt++;max=Math.max(arr[i], max);}System.out.println(cnt);}}
蓝桥大使
import java.math.*;
import java.util.*;public class Main {static Scanner sc = new Scanner(System.in);public static void main(String[] args) {int t = 1;
// t=sc.nextInt();for(int i=0;i<t;i++) {solve();}} public static void solve() {int n=sc.nextInt();Long arr[][]=new Long[n][2];// 贡献和索引Long sort[]=new Long[n];long money=0;for(int i=0;i<n;i++) {// 小蓝arr[i][0]=sc.nextLong();// 小桥arr[i][1]=sc.nextLong();// 全给小蓝money+=arr[i][0];// 计算贡献sort[i]=arr[i][1]-arr[i][0];}// 小蓝的次数long num1=n/2;// 小桥的次数long num2=n-num1;Arrays.sort(sort, (o1,o2)->{return Long.compare(o2, o1);});for(int i=0;i<num2;i++) {money+=sort[i];}System.out.println(money);}}
表演赛
import java.math.*;
import java.util.*;public class Main {static Scanner sc = new Scanner(System.in);public static void main(String[] args) {int t = 1;
// t=sc.nextInt();for(int i=0;i<t;i++) {solve();}} public static void solve() {int n=sc.nextInt();int k=sc.nextInt();long arr[]=new long[n+1];for(int i=1;i<n+1;i++) {arr[i]=sc.nextLong();}Arrays.sort(arr);long min=Long.MAX_VALUE;// 滑动窗口for(int i=1;i+k-1<=n;i++) {long ans=k-1;int index_left = i;int index_right = i+k-1;long cnt=0;while(ans>0) {cnt-=ans*arr[index_left];cnt+=ans*arr[index_right];index_left++;index_right--;ans-=2;}min=Math.min(min, cnt);}System.out.print(min);}}
次数差
import java.math.*;
import java.util.*;public class Main {static Scanner sc = new Scanner(System.in);public static void main(String[] args) {int t = 1;
// t=sc.nextInt();for(int i=0;i<t;i++) {solve();}} public static void solve() {String str=sc.next();long min=Long.MAX_VALUE;long max=Long.MIN_VALUE;HashMap<Character,Long>hm=new HashMap<>();for(int i=0;i<str.length();i++) {char c=str.charAt(i);hm.put(c, hm.getOrDefault(c, 0L)+1);}for(Character c:hm.keySet()) {min=Math.min(min, hm.get(c));max=Math.max(max, hm.get(c));}System.out.println(max-min);}}