Submission #1191009

#TimeUsernameProblemLanguageResultExecution timeMemory
1191009petezaKas (COCI17_kas)C++20
100 / 100
212 ms2464 KiB
#include <bits/stdc++.h> using namespace std; const int add = 120000; int n, arr[505]; int sm, dp[250005], old[250005]; int main() { cin.tie(0) -> sync_with_stdio(0); cin >> n; for(int i=0;i<=250004;i++) old[i] = -9999999; old[add] = 0; for(int k=1;k<=n;k++) { cin >> arr[k]; sm += arr[k]; for(int i=0;i<=250004;i++) dp[i] = old[i]; for(int i=0;i<=250004;i++) { if(i+arr[k] <= 250004) dp[i+arr[k]] = max(old[i], dp[i+arr[k]]); if(i-arr[k] >= 0) dp[i-arr[k]] = max(old[i] + arr[k], dp[i-arr[k]]); } for(int i=0;i<=250004;i++) old[i] = dp[i]; //for(int i=add-20;i<=add+20;i++) cout << old[i] << ' ' ; cout << '\n'; } cout << sm - old[add]; }
#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...