求 hack ~~~
#include<iostream>
#include<cmath>
#include<algorithm>
#include<string.h>
#define LL long long
using namespace std;
const int N=2*1e5+10,M=1e6+10;
int T;
int n;
int a[N];
int last[M];
LL f[N];
LL sum[N];
void Solve(){
memset(f,0,sizeof(f));
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
last[a[i]]=-1;
if(a[i]==a[i-1])
sum[i]=sum[i-1]+1LL*a[i];
else
sum[i]=sum[i-1];
}
for(int i=1;i<=n;i++){
int tmp=last[a[i]];
last[a[i]]=i;
f[i]=f[i-1];
if(tmp==-1)continue;
if(tmp+1==i){
f[i]=max(f[i],f[i-1]+1LL*a[i]);
continue;
}
f[i]=max(f[i],f[tmp+1]+sum[i-1]-sum[tmp+1]+1LL*a[i]);
}
printf("%lld\n",f[n]);
return ;
}
int main(){
scanf("%d",&T);
while(T--)
Solve();
return 0;
}