题解[CodeForces171C]A Piece of Cake

Posted xsl19

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题解[CodeForces171C]A Piece of Cake相关的知识,希望对你有一定的参考价值。

Description

给你\(n\)个数,求出\(\sum_i=1^n a_i\times i\qquad\)

Input

\(n + 1\)个数,分别为\(n\)\(n\)个数\(a_i\)(\(1\)\(\leq i \le n\))。

Output

\(\sum_i=1^n a_i\times i\qquad\)

Examples

Input

4 1 2 3 4

Output

30

Solution

根据题目翻译可知:这是一道模拟题。

首先,输入一个整数\(n\),接下来输入\(n\)个整数,分别为\(a_1\),\(a_2\), \(\cdots\),\(a_n\) ,要你输出\(ans\) \(=\) \(\sum_i=1^n a_i\times i\qquad\)

我们可以用一层循环来枚举\(i\)\(i\)的范围从\(1\) ~ \(n\),每次输入\(a_i\)时,就可以将答案\(ans\)增加\(a_i\) \(\times\) \(i\),最后输出答案\(ans\)即可。

算法时间复杂度:\(\Theta(n)\),空间复杂度:\(\Theta(1)\)

Code

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <cctype>//头文件准备

using namespace std;//使用标准名字空间

inline int gi()//快速读入,不解释

    int f = 1, x = 0;
    char c = getchar();
    while (c < '0' || c > '9')
    
        if (c == '-') f = -1;
        c = getchar();
    
    while (c >= '0' && c <= '9')
    
        x = x * 10 + c - '0';
        c = getchar();
    
    return f * x;


int n, sum;//n为数字的个数,sum为答案

int main()//进入主函数

    n = gi();//输入数字个数
    for (int i = 1; i <= n; i++)
    
        int x = gi();//依次输入每个数
        sum = sum + i * x;//更新答案
    
    printf("%d\n", sum);//输出最终答案
    return 0;//完美结束

以上是关于题解[CodeForces171C]A Piece of Cake的主要内容,如果未能解决你的问题,请参考以下文章

Codeforces Educational Codeforces Round 54 题解

Codeforces Round #805 (Div. 3) 题解

Codeforces Round #738 (Div. 2) A - D1 题解

[题解][Codeforces] Round_615_Div. 3 简要题解

UVA 1514 Piece it together (二分图匹配)

[CodeForces-1104A]题解(C++)