Task: | Card game |
Sender: | paulschulte |
Submission time: | 2024-09-15 13:38:05 +0300 |
Language: | C++ (C++17) |
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.01 s | details |
#8 | ACCEPTED | 0.08 s | details |
#9 | ACCEPTED | 0.08 s | details |
#10 | ACCEPTED | 0.08 s | details |
#11 | ACCEPTED | 0.00 s | details |
#12 | ACCEPTED | 0.00 s | details |
#13 | ACCEPTED | 0.00 s | details |
#14 | ACCEPTED | 0.10 s | details |
#15 | ACCEPTED | 0.08 s | details |
Code
// ~/.vim/cpp_template.cpp #include <bits/stdc++.h> #include <iostream> #include <vector> #include <algorithm> #include <string> #define REP(i,a,b) for (int i = a; i < b; i++) using namespace std; template <typename T> void pV(const std::vector<T>& vec, const std::string& label = "Vector") { std::cout << label << ": [ "; for (const auto& elem : vec) { std::cout << elem << " "; } std::cout << "]" << std::endl; } using namespace std; void dfs(int s, vector<bool> *visited, vector<int> (*adj)[]) { if ((*visited)[s]) return; (*visited)[s] = true; // process node s for (auto u: (*adj)[s]) { dfs(u, visited, adj); } } /* vector<int> adj[N]; vector<bool> visited(N, false); int u, v; for(int i = 0; i < M;i++){ cin >> u >> v; u--; v--; adj[u].push_back(v); adj[v].push_back(u); } */ int main() { ios::sync_with_stdio(0); cin.tie(0); // Your code starts here int n; cin >> n; vector<long long> v(n, 0); REP(i, 0, n){ cin >> v[i]; } if(n < 3){ cout << 0; return 0; } vector<long long> r(n,0); r[0] = 0; REP(i, 1, n-1){ if(i < 2){ r[i] = v[1]; }else if(i<3){ r[i] = max(v[i], r[i-1]); }else if(i<4){ r[i] = max(v[i], max(r[i-2], r[i-1])); }else{ r[i] = max(r[i-3] + v[i], max(r[i-2], r[i-1])); } } cout << r[n-2]; 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 |