x利


私信TA

用户名:unlimiting

访问量:1473

签 名:

等  级
排  名 7472
经  验 1313
参赛次数 0
文章发表 7
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:题目已经提示答案可能会爆int



参考代码:

import java.io.*;
import java.util.*;
import static java.lang.Math.max;
import static java.lang.Math.min;
import static java.util.Arrays.fill;
import static java.lang.System.out;

public class Main{
   static Scanner in = new Scanner(System.in);
   static int N=200010;
   static long[] a=new long[N];
   static long[] s=new long[N];
   public static void main(String[] args) throws Exception{
       int n=in.nextInt();
       for(int i=1;i<=n;i++) a[i]=in.nextInt();
       for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i];            //预处理前缀和快速计算乘积
       long ans=0;
       for(int i=2;i<=n;i++)
           ans+=a[i-1]*(s[n]-s[i-1]);                            
       out.println(ans);
   }
//    static{
//        in.init(System.in);
//    }
}
//class in{
//    static BufferedReader rd;
//    static StringTokenizer tk;
//
//    static void init(InputStream in){
//        rd=new BufferedReader(new InputStreamReader(in));
//        tk=new StringTokenizer("");
//    }
//
//    static String next() throws IOException{
//        while(!tk.hasMoreTokens()){
//            tk=new StringTokenizer(rd.readLine());
//        }
//        return tk.nextToken();
//    }
//
//    static int nextInt() throws IOException{
//        return Integer.parseInt(next());
//    }
//
//    static double nextDouble() throws IOException{
//        return Double.parseDouble(next());
//    }
//}

 

0.0分

1 人评分

  评论区

  • «
  • »