#include <iostream> #include <algorithm> #include <cstring> #include <cstdio> using namespace std; const int M = 100005; int num[M]; long long dp[M]; long long check(int i){ long long s = 0; for(int k = i -1; k >= 1; k--){ if(num[i] != num[k]) s += num[i]; else break; } return s; } int main() { int t, n; long long sum; scanf("%d", &t); while(t--){ sum = 0; scanf("%d", &n); for(int i = 1; i <= n; i++){ scanf("%d", &num[i]); } memset(dp, 0,sizeof(dp)); dp[1] = num[1]; for(int i = 2; i <= n; i++){ dp[i] += dp[i-1]; dp[i] += num[i]; dp[i] += check(i); } for(int i = 1; i <= n; i++){ sum += dp[i]; } printf("%ld\n", sum); } return 0; }
zoj3872
猜你喜欢
转载自blog.csdn.net/qqchenjunwei/article/details/45291639
今日推荐
周排行