PAT A1104 Sum of Number Segments (20 分)

目录

题目注意点

  • 直接模拟会超时,列表找出规律直接代公式即可
  • 第三个点因为精度问题会错误,可以先把结果转成long long,输出时除1000解决

实现

#include <stdio.h>
typedef long long LL;
int main(){
    int n;
    LL sum = 0;
    double a;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        scanf("%lf", &a);
        sum += (LL)(a * 1000) * i * (n + 1 - i);
    }
    printf("%.2f\n", sum / 1000.0);
    return 0;
}
上一篇:PostgreSQL之wal_keep_segments参数


下一篇:题解 [ABC159F] Knapsack for All Segments