Advertisement
Ankit_132

D

Apr 12th, 2024
1,121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define ll     long long
  6. #define _test   int _TEST; cin>>_TEST; while(_TEST--)
  7. #define pb     push_back
  8.  
  9. ll int A[5005];
  10. ll int dp[5005][7005];
  11.  
  12. int main()
  13. {
  14.     int mod = 998244353;
  15.  
  16.     int n;
  17.     cin>>n;
  18.  
  19.     for(int i=1;i<=n;i++) cin>>A[i];
  20.     sort(A+1,A+n+1);
  21.  
  22.     dp[0][0] = 1;
  23.     ll int sum = 0;
  24.     ll int ans=0;
  25.  
  26.     for(int i=1; i<=n; i++)
  27.     {
  28.         for(int j=0; j<=sum; j++)
  29.         {
  30.             dp[i][j] = (dp[i][j] + dp[i-1][j]) % mod;
  31.             dp[i][j+A[i]] = (dp[i][j+A[i]] + dp[i-1][j]) % mod;
  32.         }
  33.  
  34.         for(int j=0; j<=sum; j++)
  35.         {
  36.             if(j<=A[i])
  37.                 ans = (ans + dp[i-1][j]*1ll*A[i]) % mod;
  38.             else
  39.                 ans = (ans + dp[i-1][j]*1ll*((A[i]+j+1)/2)) % mod;
  40.         }
  41.  
  42.         sum+=A[i];
  43.     }
  44.  
  45.     cout<<ans%mod<<"\n";
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement