CSES - Aalto Competitive Programming 2024 - wk3 - Mon - Results
Submission details
Task:Maximum sum
Sender:paulschulte
Submission time:2024-09-16 16:24:22 +0300
Language:C++17
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.02 sdetails
#7ACCEPTED0.02 sdetails
#8ACCEPTED0.03 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.03 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.00 sdetails

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> vals(n);
    REP(i, 0, n){
        cin >> vals[i];
    }

    long long mx = -10000000000, sum = 0;
    REP(i, 0, n){
        sum = max(vals[i], sum+vals[i]);
        mx = max(mx, sum);
    }
    cout << mx << endl;

    
    
    return 0;
}


Test details

Test 1

Verdict: ACCEPTED

input
10
1 1 1 1 1 1 1 1 1 1

correct output
10

user output
10

Test 2

Verdict: ACCEPTED

input
10
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1

correct output
-1

user output
-1

Test 3

Verdict: ACCEPTED

input
10
24 7 -27 17 -67 65 -23 58 85 -...

correct output
185

user output
185

Test 4

Verdict: ACCEPTED

input
10
99 -59 31 83 -79 64 -20 -87 40...

correct output
154

user output
154

Test 5

Verdict: ACCEPTED

input
10
-19 61 60 33 67 19 -8 92 59 -3...

correct output
383

user output
383

Test 6

Verdict: ACCEPTED

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
200000

user output
200000

Test 7

Verdict: ACCEPTED

input
200000
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...

correct output
-1

user output
-1

Test 8

Verdict: ACCEPTED

input
200000
381082742 830199996 -85684827 ...

correct output
231210956017

user output
231210956017

Test 9

Verdict: ACCEPTED

input
200000
-935928962 -795492223 75287481...

correct output
184607318819

user output
184607318819

Test 10

Verdict: ACCEPTED

input
200000
524408131 613017181 -62281009 ...

correct output
360019999220

user output
360019999220

Test 11

Verdict: ACCEPTED

input
1
1

correct output
1

user output
1

Test 12

Verdict: ACCEPTED

input
1
-2

correct output
-2

user output
-2

Test 13

Verdict: ACCEPTED

input
5
-1 -1 -1 -1 -2

correct output
-1

user output
-1

Test 14

Verdict: ACCEPTED

input
2
-3 -2

correct output
-2

user output
-2

Test 15

Verdict: ACCEPTED

input
1
-1000000000

correct output
-1000000000

user output
-1000000000