Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- void solve()
- {
- int n;
- cin>>n;
- int arr[n+1];
- for(int i=1;i<=n;i++)
- cin>>arr[i];
- int dp[1005][1005];
- int dp1[1005][1005];
- for(int i=0;i<=1000;i++)
- {
- for(int j=0;j<=1000;j++)
- dp[i][j]=0;
- }
- dp[0][0]=1;
- for(int i=1;i<=n;i++)
- {
- for(int j=0;j<=1000;j++)
- {
- for(int k=0;k<=1000;k++)
- {
- if(j>=arr[i]){
- if(dp[j-arr[i]][k])
- {
- dp1[j][k]=1;
- }
- }
- if(k>=arr[i]){
- if(dp[j][k-arr[i]])
- {
- dp1[j][k]=1;
- }
- }
- if(dp[j][k]){
- dp1[j][k]=1;
- }
- }
- }
- for(int j=0;j<=1000;j++)
- {
- for(int k=0;k<=1000;k++)
- {
- dp[j][k]=dp1[j][k];
- dp1[j][k]=0;
- }
- }
- }
- int ans=0;
- for(int i=1;i<=1000;i++)
- {
- if(dp[i][i])
- {
- ans=i;
- }
- }
- cout<<ans<<endl;
- return;
- }
- int main()
- {
- int t;
- cin>>t;
- while(t--)
- solve();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement