Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- long long dp[101][100001];
- int v[100001];
- int main()
- {
- int n,s1,j,i;
- s1=0;
- cin>>n;
- for(i=0;i<n;i++){
- cin>>v[i];
- s1+=v[i];
- }
- for(j=1;j<=n;j++){
- for(i=1;i<=s1;i++){
- dp[j][i]=dp[j-1][i];
- if(i>=v[j]){
- dp[j][i]=max(dp[j][i],dp[j-1][i-v[j]]+v[j]);
- }
- }
- }
- cout<<max(s1-dp[n][s1/2],dp[n][s1/2]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement