Task: | Card game |
Sender: | snude |
Submission time: | 2024-09-14 15:12:31 +0300 |
Language: | C++ (C++11) |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.00 s | details |
#2 | ACCEPTED | 0.00 s | details |
#3 | ACCEPTED | 0.00 s | details |
#4 | ACCEPTED | 0.00 s | details |
#5 | ACCEPTED | 0.00 s | details |
#6 | ACCEPTED | 0.01 s | details |
#7 | ACCEPTED | 0.02 s | details |
#8 | ACCEPTED | 0.18 s | details |
#9 | ACCEPTED | 0.19 s | details |
#10 | ACCEPTED | 0.18 s | details |
#11 | ACCEPTED | 0.00 s | details |
#12 | ACCEPTED | 0.00 s | details |
#13 | ACCEPTED | 0.00 s | details |
#14 | ACCEPTED | 0.28 s | details |
#15 | ACCEPTED | 0.17 s | details |
Code
#include <algorithm> #include <cstdio> #include <iostream> #include <vector> using namespace std; int get_max(int end, vector<int> cards) { if (end < 2) return 0; int res = max(get_max(end - 3, cards) + cards[end - 1], get_max(end - 1, cards)); return res; } int main(int argc, char *argv[]) { // Read the input parameters int n; cin >> n; // Read values from one line vector<int> cards(n, 0); for (int i = 0; i < n - 1; i++) { cin >> cards[i]; } /*for (int i = 0; i < n; i++) {*/ /* cout << cards[i];*/ /*}*/ /* cout << "\n";*/ vector<int> sums(n, 0); sums[2] = cards[1]; for (int i = 3; i < n; i++) { /*cout << i << "\n";*/ int previous = cards[i - 1]; int a = 0; int index = i - 3; if (index >= 0) a = sums[index]; /*int a = i - 3 >= 2 ? sums[i - 3] : 0;*/ int b = sums[i - 1]; /*cout << a << " " << b << "\n";*/ /*sums[i] = max(a + current, b);*/ /*cout << "i: "<< i << " cards[i - 1]: " << cards[i - 1] << " three before: " << a << " previous sum: " << b << "\n";*/ /*cout << max(a + previous, b) << "\n";*/ sums[i] = max(max(a + previous, b), cards[i - 1]); } /*cout << "\n";*/ /*sums[n - 1] = sums[n - 2];*/ /*for (int i = 0; i < n; i++) {*/ /* cout << sums[i] << "\n";*/ /*}*/ /*cout << "\n";*/ cout << sums[n - 1] << "\n"; /*cout << get_max(n - 1, cards) << "\n";*/ return 0; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
5 9 4 1 6 6 |
correct output |
---|
6 |
user output |
---|
6 |
Test 2
Verdict: ACCEPTED
input |
---|
6 5 6 2 4 10 1 |
correct output |
---|
16 |
user output |
---|
16 |
Test 3
Verdict: ACCEPTED
input |
---|
10 8 9 10 2 7 1 10 10 1 4 |
correct output |
---|
26 |
user output |
---|
26 |
Test 4
Verdict: ACCEPTED
input |
---|
100 1 8 8 5 7 10 9 4 8 10 6 3 8 7 ... |
correct output |
---|
243 |
user output |
---|
243 |
Test 5
Verdict: ACCEPTED
input |
---|
1000 10 7 5 6 5 2 5 3 2 2 1 6 8 7 8... |
correct output |
---|
2230 |
user output |
---|
2230 |
Test 6
Verdict: ACCEPTED
input |
---|
10000 9 1 8 2 6 5 1 3 3 10 6 3 9 3 1... |
correct output |
---|
22363 |
user output |
---|
22363 |
Test 7
Verdict: ACCEPTED
input |
---|
100000 5 5 4 6 8 7 9 6 3 2 5 8 7 3 5 ... |
correct output |
---|
226636 |
user output |
---|
226636 |
Test 8
Verdict: ACCEPTED
input |
---|
1000000 5 8 5 7 9 1 9 10 3 6 1 8 3 9 7... |
correct output |
---|
2259395 |
user output |
---|
2259395 |
Test 9
Verdict: ACCEPTED
input |
---|
1000000 4 5 3 5 4 3 6 7 10 6 3 9 7 9 1... |
correct output |
---|
2260761 |
user output |
---|
2260761 |
Test 10
Verdict: ACCEPTED
input |
---|
1000000 10 3 6 7 7 10 4 4 5 2 9 4 6 10... |
correct output |
---|
2260407 |
user output |
---|
2260407 |
Test 11
Verdict: ACCEPTED
input |
---|
3 87 3 123 |
correct output |
---|
3 |
user output |
---|
3 |
Test 12
Verdict: ACCEPTED
input |
---|
2 175 95 |
correct output |
---|
0 |
user output |
---|
0 |
Test 13
Verdict: ACCEPTED
input |
---|
1 42 |
correct output |
---|
0 |
user output |
---|
0 |
Test 14
Verdict: ACCEPTED
input |
---|
1000000 1000 1000 1000 1000 1000 1000 ... |
correct output |
---|
333333000 |
user output |
---|
333333000 |
Test 15
Verdict: ACCEPTED
input |
---|
1000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ... |
correct output |
---|
333333 |
user output |
---|
333333 |