Submission #244834

# Submission time Handle Problem Language Result Execution time Memory
244834 2020-07-05T07:08:14 Z NONAME Kas (COCI17_kas) C++14
50 / 100
2000 ms 524292 KB
#include <bits/stdc++.h>
#define dbg(x) cerr << #x << " = " << x << "\n"
#define fast_io ios_base::sync_with_stdio(0); cin.tie(0); cout.tie()
using namespace std;
using ll = long long;

const int fx = -(3e5 + 100);

int n, a[500], total;
map <int, int> f[500];
map <int, bool> mk[500];

int rec(int p, int cur) {
    if (p == n)
        return (cur == 0) ? 0 : -3e5;

    if (mk[p][int(1e5) + cur])
        return f[p][int(1e5) + cur];

    int res = max(rec(p + 1, cur),
              max(rec(p + 1, cur - a[p]), rec(p + 1, cur + a[p]) + a[p]));

    mk[p][int(1e5) + cur] = 1;
    return f[p][int(1e5) + cur] = res;
}

int main() {
    fast_io;

    cin >> n;
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
        total += a[i];
    }

    for (int i = 0; i < n; ++i)
    for (int j = 0; j <= 3e5; ++j)
        f[i][j] = fx;

    int res = rec(0, 0);
    cout << res + (total - 2 * res) << "\n";
}
# Verdict Execution time Memory Grader output
1 Correct 650 ms 141688 KB Output is correct
2 Correct 644 ms 141432 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 671 ms 141536 KB Output is correct
2 Correct 645 ms 141612 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 641 ms 141480 KB Output is correct
2 Correct 710 ms 155768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 782 ms 169808 KB Output is correct
2 Correct 828 ms 183928 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 869 ms 183932 KB Output is correct
2 Correct 863 ms 183848 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 2120 ms 494780 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2108 ms 524292 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2071 ms 524292 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2085 ms 524288 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2091 ms 524292 KB Time limit exceeded
2 Halted 0 ms 0 KB -