解题思路:
注意事项:题目已经提示答案可能会爆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 人评分
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:468 |
简单的a+b (C语言代码)浏览:667 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:567 |
字符串比较 (C语言代码)答案错误????浏览:596 |
WU-蓝桥杯算法提高VIP-勾股数 (C++代码)浏览:1592 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:372 |
用筛法求之N内的素数。 (C语言代码)浏览:664 |
sizeof的大作用 (C语言代码)浏览:1448 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:1148 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:556 |