#include <iostream>
using namespace std;
int main(void) {
int i, j;
int input[100000], table[100000];
int len, max = 0, sum_minux = 0, result = 0;
cin >> len;
for(i=0; i<len; i++)
cin >> input[i];
// 물체를 먹을지 안먹을지를 구한다.
for(i=len-1; i>=0; i--) {
// 양수, 0일 때
if(input[i] >= 0) {
table[i] = 1;
if(max < input[i]) {
max = input[i];
}
}
// 음수 일 때
else {
if(max > input[i]*(-1) && max > sum_minux+input[i]*(-1)) {
table[i] = 1;
sum_minux += input[i]*(-1);
} else {
table[i] = 0;
sum_minux = 0;
max = 0;
}
}
}
for(i=0; i<len; i++)
cout << table[i] << ' ';
cout << endl;
// 점수를 계산한다.
for(i=0; i<len; i++) {
if(i > 0 && table[i] == 1) {
table[i] = table[i-1] + 1;
}
result += input[i] * table[i];
}
cout << result << endl;
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
2368 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Halted |
0 ms |
0 KB |
- |