Submission #631197

# Submission time Handle Problem Language Result Execution time Memory
631197 2022-08-17T19:33:19 Z inksamurai Kas (COCI17_kas) C++17
100 / 100
373 ms 1884 KB
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;i++)
#define rng(i,c,n) for(int i=c;i<n;i++)
#define per(i,n) for(int i=n-1;i>=0;i--)
#define fi first
#define se second
#define pb push_back
#define sz(a) (int)a.size()
#define vec(...) vector<__VA_ARGS__>
#define _3phCa4T ios::sync_with_stdio(0),cin.tie(0)
typedef long long ll;
using pii=pair<int,int>;
using vi=vector<int>;
void print(){cout<<'\n';}
template<class h,class...t>
void print(const h&v,const t&...u){cout<<v<<' ',print(u...);}
// e

void chmax(int &a,int b){
	a=max(a,b);
}

signed main(){
_3phCa4T;
	int n;
	cin>>n;
	vi a(n);
	rep(i,n){
		cin>>a[i];
	}
	const int o=1e5+1,oo=2e5+11;
	vi dp(oo,-1e9),ndp(oo);
	dp[o]=0;
	rep(i,n){
		ndp=dp;
		rep(j,oo){
			if(dp[j]!=-1e9){
				if(j+a[i]<oo){
					chmax(ndp[j+a[i]],dp[j]+a[i]);
				}
				if(j-a[i]>=0){
					chmax(ndp[j-a[i]],dp[j]+a[i]);
				}
			}
		}
		dp=ndp;
	}
	int sun=0;
	rep(i,n){
		sun+=a[i];
	}
	print(sun-dp[o]/2);
}
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1876 KB Output is correct
2 Correct 4 ms 1876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1876 KB Output is correct
2 Correct 3 ms 1876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 1876 KB Output is correct
2 Correct 3 ms 1876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 1876 KB Output is correct
2 Correct 4 ms 1876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 1876 KB Output is correct
2 Correct 3 ms 1876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 1876 KB Output is correct
2 Correct 9 ms 1876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 14 ms 1876 KB Output is correct
2 Correct 10 ms 1876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 88 ms 1884 KB Output is correct
2 Correct 79 ms 1884 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 108 ms 1876 KB Output is correct
2 Correct 139 ms 1880 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 230 ms 1880 KB Output is correct
2 Correct 373 ms 1876 KB Output is correct