| Task: | Apple Division |
| Sender: | aalto26aw_009 |
| Submission time: | 2026-09-02 16:47:30 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.01 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | RUNTIME ERROR | 0.00 s | details |
| #8 | RUNTIME ERROR | 0.00 s | details |
| #9 | RUNTIME ERROR | 0.00 s | details |
| #10 | RUNTIME ERROR | 0.00 s | details |
| #11 | RUNTIME ERROR | 0.00 s | details |
| #12 | RUNTIME ERROR | 0.00 s | details |
| #13 | RUNTIME ERROR | 0.41 s | details |
| #14 | ACCEPTED | 0.00 s | details |
| #15 | ACCEPTED | 0.00 s | details |
| #16 | RUNTIME ERROR | 0.41 s | details |
| #17 | RUNTIME ERROR | 0.00 s | details |
| #18 | ACCEPTED | 0.00 s | details |
Code
#include <iostream>
#include <vector>
using namespace std;
long long memo(vector<vector<long long>> & dp, long long index, long long cap, vector<long long> & apples) {
//cout << "On index " << index << " capacity: " << cap << '\n';
if (index<0){
return 0;
}
if (cap<=0){
return 0;
}
if (dp[index][cap]==-1){
if (cap>=apples[index]){
dp[index][cap]=max(memo(dp, index-1, cap-apples[index], apples)+apples[index], memo(dp, index-1, cap, apples));
} else {
dp[index][cap]=memo(dp, index-1, cap, apples);
}
}
return dp[index][cap];
}
int main(){
long long n;
cin >> n;
vector<long long> apples (n);
long long sum = 0;
for (long long i=0; i<n;i++){
cin >> apples[i];
sum+=apples[i];
}
vector<vector<long long>> dp(n, vector<long long>(sum+1, -1));
long long group1=memo(dp, n-1, sum/2, apples);
cout << (sum-group1)-group1 << '\n';
return 0;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 10 603 324 573 493 659 521 654 70... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 10 952 775 292 702 859 719 65 943... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 10 141 156 14 487 250 230 741 602... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 10 963 359 731 826 599 931 40 86 ... |
| correct output |
|---|
| 4 |
| user output |
|---|
| 4 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 10 238 224 861 461 558 860 318 93... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 2 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 10 193 848 70 53 864 886 374 31 2... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 7
Verdict: RUNTIME ERROR
| input |
|---|
| 20 13048212 423374770 19874608 81... |
| correct output |
|---|
| 8231 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 8
Verdict: RUNTIME ERROR
| input |
|---|
| 20 314836307 815098885 922742346 ... |
| correct output |
|---|
| 1188 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 9
Verdict: RUNTIME ERROR
| input |
|---|
| 20 846261131 196958704 824235264 ... |
| correct output |
|---|
| 11770 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 10
Verdict: RUNTIME ERROR
| input |
|---|
| 20 92021619 792314463 937735495 8... |
| correct output |
|---|
| 4453 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 11
Verdict: RUNTIME ERROR
| input |
|---|
| 20 452747515 202201476 845758891 ... |
| correct output |
|---|
| 4881 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 12
Verdict: RUNTIME ERROR
| input |
|---|
| 20 934033764 747013925 113297529 ... |
| correct output |
|---|
| 5482 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 13
Verdict: RUNTIME ERROR
| input |
|---|
| 1 1000000000 |
| correct output |
|---|
| 1000000000 |
| user output |
|---|
| (empty) |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 2 1 1 |
| correct output |
|---|
| 0 |
| user output |
|---|
| 0 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 1 1 |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 16
Verdict: RUNTIME ERROR
| input |
|---|
| 5 934033764 2 7 4 1 |
| correct output |
|---|
| 934033750 |
| user output |
|---|
| (empty) |
Test 17
Verdict: RUNTIME ERROR
| input |
|---|
| 20 934033764 747013925 113297529 ... |
| correct output |
|---|
| 5483 |
| user output |
|---|
| (empty) |
Error:
terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
Test 18
Verdict: ACCEPTED
| input |
|---|
| 19 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
