Submission #167820

#TimeUsernameProblemLanguageResultExecution timeMemory
167820Atill83Kas (COCI17_kas)C++14
100 / 100
419 ms396124 KiB
#include <bits/stdc++.h> #define ff first #define ss second #define endl '\n' using namespace std; const long long INF = (long long) 1e18; const int mod = (int) 1e9+7; const int MAXN = (int) 3e5+5; typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pii; typedef pair<ll,ll> pll; ll n; int ar[MAXN]; ll mx = INF, ans, sum; int suf[MAXN]; ll dp[505][MAXN]; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr);cout.tie(nullptr); #ifdef Local freopen("../IO/int.txt","r",stdin); freopen("../IO/out.txt","w",stdout); #endif cin>>n; for(int i = 1; i <= n; i++){ cin>>ar[i]; sum += ar[i]; } for(int j = 1; j <= sum; j++) dp[0][j] = -INF; for(int i = 1; i <= n; i++){ for(int j = 0; j <= sum; j++){ dp[i][j] = max(dp[i - 1][j], max(dp[i - 1][abs(j - ar[i])],dp[i - 1][j + ar[i]]) + ar[i]); } } cout<<sum - dp[n][0]/2<<endl; #ifdef Local cout<<endl<<fixed<<setprecision(2)<<1000.0 * clock() / CLOCKS_PER_SEC<< " milliseconds "; #endif }
#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...