TouchStone
  Please Login
ログイン 登録
 ホームページ  問題セット  試験一覧  提出状況  掲示板  統計情報
  • ホーム
  • 問題セット
  • P5952
  • 問題
  • P5952【序列的欢乐赛】序列求和
    制限 : 時間制限 : - MS   メモリ制限 : 262144 KB
    問題説明

    nodgd在刷题时经常遇到序列求和的问题,于是他自己出了一道:

    一个长度为$n$的整数序列有$\frac{n(n+1)}{2}$个连续子序列,算出每个连续子序列中所有数的和。但是这样将得到的$\frac{n(n+1)}{2}$个结果,太多了nodgd懒得看,所以你只要告诉nodgd所有结果的平方和$\mod{1,000,000,007}\ $的结果nodgd就认为你全都算对了。

    入力形式

    第一行一个整数$n$。第二行$n$个整数$a_1,a_2,\dots,a_n$。

    出力形式

    输出一个整数,表示所有连续子序列内每个数的和的平方和$\mod{1,000,000,007}\ $的结果。

    サンプル入力 1

    3
    1 2 3

    サンプル出力 1

    84

    サンプル入力 2

    5
    123456 234567 345678 456789 567890

    サンプル出力 2

    24991030

    ヒント

    样例说明1
    $n=3$时有6个连续子序列,分别是[1],[2],[3],[1,2],[2,3],[1,2,3]。
    这6个子序列的和分别为1,2,3,3,5,6,所以答案是$1^2+2^2+3^2+3^2+5^2+6^2=84$。

    数据规模与约定
    对于30%的数据,\(n\le200\)
    对于60%的数据,\(n\le2000\)
    对于100%的数据,\(n\le200000\),$1\le a_i\le10^6$。


    ソース  感谢nodgd