제출 #1170873

#제출 시각아이디문제언어결과실행 시간메모리
1170873ttamxKas (COCI17_kas)C++20
100 / 100
90 ms1216 KiB
#include<bits/stdc++.h> using namespace std; const int INF=INT_MAX/2; int main(){ cin.tie(nullptr)->sync_with_stdio(false); int n; cin >> n; vector<int> a(n); for(auto &x:a){ cin >> x; } int tot=accumulate(a.begin(),a.end(),0LL); int m=tot+10; int offset=m/2; vector<int> dp(m,INF); dp[offset]=0; for(auto x:a){ vector<int> new_dp(m,INF); for(int i=0;i<m;i++){ new_dp[i]=dp[i]+x; if(i>=x){ new_dp[i]=min(new_dp[i],dp[i-x]); } if(i+x<m){ new_dp[i]=min(new_dp[i],dp[i+x]); } } dp=move(new_dp); } cout << (tot+dp[offset])/2; }
#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...