제출 #1310395

#제출 시각아이디문제언어결과실행 시간메모리
1310395norrawichzzzKas (COCI17_kas)C++20
100 / 100
195 ms197644 KiB
#include <bits/stdc++.h> using namespace std; int main() { cin.tie(0)->sync_with_stdio(0); int n; cin>> n; int sm=0; vector<int> a(n+1); for (int i=1; i<=n; i++) { cin>> a[i]; sm+=a[i]; } vector<vector<int>> dp(n+1, vector<int>(sm+1, -1)); dp[0][0] = 0; for (int i=1; i<=n; i++) { int x = a[i]; for (int j=0; j<=sm-x; j++) { dp[i][j] = dp[i-1][j]; if (dp[i-1][abs(j-x)] != -1) dp[i][j] = max(dp[i-1][abs(j-x)]+x, dp[i][j]); if (dp[i-1][abs(j+x)] != -1) dp[i][j] = max(dp[i-1][abs(j+x)]+x, dp[i][j]); } } int ans = dp[n][0]/2 + (sm-dp[n][0]); cout<< ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...