이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |