java
查看原帖
java
715540
CYHMMZDAN楼主2022/7/21 21:57
自己的一种方法, 2,3,5,6没过,hack对比多组一样,java,thanks
``````java
import java.io.*;
import java.io.BufferedReader;
import java.lang.reflect.Array;
import java.math.BigInteger;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.*;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
import java.util.Map;
import java.util.HashMap;

public class Main {
    static StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
    static StringBuilder stringBuilder = new StringBuilder();
    static PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));
    static String s="";
    BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(System.in));
    static int n=0;
    static int min=2000000000;
    static int t=0;
    static int m=1;
    static long ans=0;
    static Map<Integer,Integer> map=new TreeMap<>();
    static int[] c=new int[15];
    static int[] b=new int[15];
    static boolean[] booleans=new boolean[20];
    public static void main(String[] args) throws IOException {
        int[] a=new int[4];
        for (int i=0;i<a.length;i++) {
            a[i] = Scanf_Int();
        }
        for (int i=0;i<a.length;i++){
            m=a[i];
            int[] b=new int[m];
            int v=a[i]-1;
            int sum=0;
            for (int j = 0; j < a[i]; j++) {
                b[j] = Scanf_Int();
            }
            while (v!=0){
                mp(b,v);
                sum+=b[v-1];
                b[v-1]=b[v]-b[v-1];
                b[v]=0;
                v--;
            }
            sum+=b[0];
            ans+=sum;
        }
        out.print(ans);
        out.close();
    }
    public  static void mp(int[] b,int cc){
        for (int i=0;i<cc;i++){
            for (int j=0;j<cc-i;j++){
                if (b[j]>b[j+1]){
                    int t=b[j];
                    b[j]=b[j+1];
                    b[j+1]=t;
                }
            }
        }
    }
    public static int asd(int i){
        return i*(i-1)/2;
    }
    static int Scanf_Int()throws IOException{
        in.nextToken();
        return (int) in.nval;
    }
    static long Scanf_Long()throws IOException{
        in.nextToken();
        return (long) in.nval;
    }
    static double Scanf_Double()throws IOException{
        in.nextToken();
        return in.nval;
    }
    static String Scanf_String()throws IOException{
        in.nextToken();
        return in.sval;
    }
}

2022/7/21 21:57
加载中...