-
Notifications
You must be signed in to change notification settings - Fork 75
Expand file tree
/
Copy pathCodeforces_1326B_Maximums.java
More file actions
77 lines (68 loc) · 1.9 KB
/
Codeforces_1326B_Maximums.java
File metadata and controls
77 lines (68 loc) · 1.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// AC: 358 ms
// Memory: 4828 KB
// See the regularity.
// T:O(n), S:O(n)
//
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Codeforces_1326B_Maximums {
public static void main(String[] args) {
FastReader sc = new FastReader();
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
StringBuilder ret = new StringBuilder();
ret.append(arr[0]);
ret.append(" ");
int curPosiSum = Math.max(arr[0], 0);
for (int i = 1; i < n; i++) {
ret.append(curPosiSum + arr[i]);
if (arr[i] >= 0) {
curPosiSum += arr[i];
}
if (i != n - 1) {
ret.append(" ");
}
}
System.out.println(ret);
}
private static class FastReader {
BufferedReader br;
StringTokenizer st;
public FastReader() {
br = new BufferedReader(new InputStreamReader(System.in));
}
String next() {
while (st == null || !st.hasMoreElements()) {
try {
st = new StringTokenizer(br.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
return st.nextToken();
}
int nextInt() {
return Integer.parseInt(next());
}
long nextLong() {
return Long.parseLong(next());
}
double nextDouble() {
return Double.parseDouble(next());
}
String nextLine() {
String str = "";
try {
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
return str;
}
}
}