您的位置:首页 > 其它

Sicily 2013. Pay Back

2015-03-29 12:28 204 查看
贪心算法:边输入边判断,如果原本是正的,走到这步之后变成负的,就把这步的位置记录下来,如果原本是负的,走到这步后变成正的就说明有钱可以回去还债了,就走回去还钱,路程为回去的两倍。

#include <iostream>

using namespace std;

int arr[100001];

int main()
{
int n;
cin >> n;
int step=0,money=0,debt_pos;
for(int i=1; i <= n; i++){
++step;
cin >> arr[i];
if(money >= 0 && money+arr[i] < 0) debt_pos=i;
if(money < 0 && money+arr[i] >= 0) step+=2*(i-debt_pos);
money+=arr[i];
}
cout << step << endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: