Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main()
- {
- int t,arr[10009],st[10009],dp[10009],n,i,j;
- cin>>t;
- while(t--)
- {
- cin>>n;
- for(i=0;i<n;i++)
- cin>>arr[i] , dp[i]=arr[i] , st[i]=arr[i];
- for(i=0;i<n;i++)
- {
- for(j=0;j<i;j++)
- {
- if((arr[i]|st[j]) == (arr[i]&st[j]))
- {
- dp[i]=max(dp[i],arr[i]+dp[j]);
- st[i]=st[j]|arr[i];
- }
- }
- }
- long long ans=0;
- for(i=0;i<n;i++)
- {
- ans=max(ans,(long long)dp[i]);
- }
- cout<<ans<<endl;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment