CSES - Aalto Competitive Programming 2024 - wk3 - Homework - Results
Submission details
Task:Card game
Sender:htoik
Submission time:2024-09-19 11:18:30 +0300
Language:C++ (C++20)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.01 sdetails
#7ACCEPTED0.02 sdetails
#8ACCEPTED0.17 sdetails
#9ACCEPTED0.17 sdetails
#10ACCEPTED0.17 sdetails
#11ACCEPTED0.00 sdetails
#120.00 sdetails
#130.00 sdetails
#140.27 sdetails
#15ACCEPTED0.16 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:18:19: warning: comparison of integer expressions of different signedness: 'int' and 'ull' {aka 'long long unsigned int'} [-Wsign-compare]
   18 |     for(int i=0; i<n; i++){
      |                  ~^~
input/code.cpp:32:19: warning: comparison of integer expressions of different signedness: 'int' and 'ull' {aka 'long long unsigned int'} [-Wsign-compare]
   32 |     for(int i=7; i<n-1; i++){
      |                  ~^~~~

Code

#include <bits/stdc++.h>

using namespace std;

typedef unsigned long long ull;

ull n;
uint8_t xs[1000000];
ull s[1000000];

// void makeTable(){
//     vector<uint8_t> s(1000000*1000000,0);
//     cout << s.size() << endl;
// }

int main(){
    cin >> n;
    for(int i=0; i<n; i++){
        unsigned x;
        cin >> x;
        xs[i] = x;
    }

    for(int i=1; i<4; i++){
        s[i] = xs[i];
    }
    s[4] = xs[4] + s[1];
    for(int i=5; i<7; i++){
        s[i] = xs[i] + max(s[i-4], s[i-3]);
    }

    for(int i=7; i<n-1; i++){
        s[i] = xs[i] + max({
            s[i-5], s[i-4], s[i-3]
        });
    }

    auto best = max({s[n-2], s[n-3], s[n-4]});
    cout << best << endl;

    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:

input
2
175 95

correct output
0

user output
23456247777120

Test 13

Verdict:

input
1
42

correct output
0

user output
23456247777120

Test 14

Verdict:

input
1000000
1000 1000 1000 1000 1000 1000 ...

correct output
333333000

user output
77333256

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