Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define sc( x ) scanf( "%d" , &x )
- #define REP( i , n ) for( int i = 0 ; i < n ; ++i )
- #define clr( t , val ) memset( t , val , sizeof( t ) )
- #define pb push_back
- #define all( v ) v.begin() , v.end()
- #define SZ(v) ((int)(v).size())
- #define mp make_pair
- #define fi first
- #define se second
- #define N 100005
- typedef long long ll;
- int memo[N], last[N];
- int main(){
- int tc = 0;
- scanf("%d", &tc);
- while(tc--){
- int n, x;
- scanf("%d", &n);
- long long ans = 0;
- memset(last, -1, sizeof last);
- for(int i = 0; i < n; i++){
- scanf("%d", &x);
- if(i == 0)memo[i] = x;
- else memo[i] = memo[i - 1] + (i - last[x]) * x;
- last[x] = i;
- ans += memo[i];
- }
- printf("%lld\n", ans);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment