[2020.10.28 Tournoi de simulation de vulgarisation SSL T3] [Somme de la somme des intervalles] [Mathématiques]

Insérez la description de l'image ici
Insérez la description de l'image ici

une analyse

La première chose qui me vient à l'esprit est d'énumérer violemment chaque intervalle et de le stocker dans le tableau une fois la somme additionnée.
Mais pour stabiliser T,
à son tour, pensez au nombre d'intervalles que chaque nombre contribue.
Insérez la description de l'image ici
Donc le nombre d'occurrences de a [i] est i ∗ (n - i + 1) i * (n-i + 1)je( n-je+1 )

Télécharger le code

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;

typedef long long ll;

ll n,a,ans;

int main()
{
    
    
	cin>>n;
	for(int i=1;i<=n;i++)
	{
    
    
		cin>>a;
		ans=(ans+a*i*(n-i+1))%1000000007;
	}
	cout<<ans;
	return 0;
} 

Je suppose que tu aimes

Origine blog.csdn.net/dglyr/article/details/109350747
conseillé
Classement