Sicily 2013. Pay Back
来源:互联网 发布:蛋子和尚 知乎 编辑:程序博客网 时间:2024/05/01 04:03
一个欠债还钱、借债讨钱的问题,贪心算法解决。
沿着路一直走下去,把别人欠的钱都拿回,把能还的钱还了。当手头上的钱不够还时,记下当前编号。然后往后走,只收钱不还钱,等到收到的钱能够一次还清前面所欠的钱的总和时,往回走,边走边还钱,还完钱再往前走。如此反复,直到终点即可。另外要注意统计走过的路程。
Run Time: 0.03sec
Run Memory: 304KB
Code length: 769Bytes
Submit Time: 2011-12-08 00:39:23
// Problem#: 2013// Submission#: 1049990// The source code is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License// URI: http://creativecommons.org/licenses/by-nc-sa/3.0/// All Copyright reserved by Informatic Lab of Sun Yat-sen University#include <cstdio>using namespace std;int main(){ int N, i; int money, keep; int dist = 0, total = 0, lend = 0; bool unable = false; scanf( "%d", &N ); for ( i = 0; i < N; i++ ) { scanf( "%d", &money ); if ( money > 0 ) { total += money; if ( unable && total >= -lend ) { total += lend; lend = 0; unable = false; dist += ( i - keep ) * 2; } } else if ( unable ) lend += money; else if ( -money <= total ) total += money; else { unable = true; keep = i; lend += money; } } printf( "%d\n", dist + N ); return 0;}
- Sicily 2013. Pay Back
- Sicily 2013. Pay Back
- Sicily 2013. Pay Back
- Sicily 2013 Pay Back
- 2013. Pay Back
- TOJ 3203.Pay Back
- pay
- Back...
- Back
- back
- back
- Back
- BACK
- Apple Pay
- Apple Pay
- Apple Pay
- apple Pay
- Apple pay
- 如何精确计算一个方法执行的时间-如博客园的提交评论提交耗时xxx毫秒?
- 静态(static)总结
- oracle 11g r2 新建空表不分配semgent
- Android --- TextView中文本的不同颜色
- 驱动开发的几种编译环境配置法----PS:我孤陋寡闻了。。。。反省啊。。。。
- Sicily 2013. Pay Back
- Chrome源码剖析【二】:【二】Chrome的进程间通信
- NET中Trace类和Debug类的应用举例
- Sicily 2015. A New Year Gift
- MySQL-Cluster架构图文详解
- 关于本博客的说明
- tomcate+hibernate+spring+Atomikos
- Sicily 2038. String Reversion
- h.264流