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.
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;
}