Submission #167790

# Submission time Handle Problem Language Result Execution time Memory
167790 2019-12-10T06:41:20 Z egekabas Kas (COCI17_kas) C++14
0 / 100
660 ms 392720 KB
#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
using namespace std;
typedef long long   ll;
typedef unsigned long long   ull;
typedef long double ld;
typedef pair<ll, ll>    pll;
typedef pair<ull, ull>    pull;
typedef pair<int, int>  pii;
typedef pair<ld, ld>  pld;
ll n;
ll a[509];
ll dp[509][100009];
ll tot;
ll f(ll x, ll y){

    if(y > 100000)
        return 1e18;
    if(dp[x][y] != -1)
        return dp[x][y];
    if(x == 0){
        if(y == 0)
            return dp[x][y] = a[x];
        else if(y == a[x])
            return dp[x][y] = 0;
        else
            return dp[x][y] = 1e18;
    }
    dp[x][y] = min(f(x-1, y)+a[x], f(x-1, abs(y-a[x])));
    return dp[x][y];
}


int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    
    //freopen("in.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
    
    cin >> n;
    for(ll i = 0; i < n; ++i){
        cin >> a[i];
        tot += a[i];
    }
    for(ll i = 0; i <= 500; ++i)
        for(ll j = 0; j <= 100000; ++j)
            dp[i][j] = -1;
    ll left = f(n-1, 0);
    cout << left+(tot-left)/2 << "\n";
}
# Verdict Execution time Memory Grader output
1 Incorrect 660 ms 392716 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 313 ms 392672 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 317 ms 392568 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 352 ms 392720 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 315 ms 392656 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 313 ms 392540 KB Output is correct
2 Incorrect 317 ms 392568 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 312 ms 392576 KB Output is correct
2 Incorrect 313 ms 392560 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 334 ms 392556 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 377 ms 392568 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 481 ms 392616 KB Output isn't correct
2 Halted 0 ms 0 KB -