高效算法设计专项:UVa 11054
2013-05-04 22:25
260 查看
很简单的扫描线,可以一边输入一边计算。想法也比较简单,所有wine都是卖到最近的地点,所以从左到右扫一般,记录一个当前剩余值,然后每输入一次,累加一次剩余值的绝对值,然后更新剩余值即可。
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; typedef long long LL; #define M 100010 LL a[M]; int n; int main() { freopen("in.txt","r",stdin); while(cin>>n&&n) { LL ans=0,res=0; for(int i=0;i<n;i++) { cin>>a[i]; ans+=abs(res); res+=a[i]; } cout<<ans<<endl; } return 0; }
相关文章推荐
- 高效算法设计专项:UVa 11572
- 高效算法设计专项:UVa 10691
- 【高效算法设计——等价转换】UVa 11054
- 高效算法设计专项:UVa 10730
- 高效算法设计专项:UVa 10125
- 高效算法设计专项:UVa 10391
- 高效算法设计专项:UVa 10827
- 高效算法设计专项:UVa 10810
- 高效算法设计专项:UVa 10535
- 【高效算法设计——递归】 UVa 12627 Erratic Expansion
- 【高效算法设计——双向扫描】 UVa 1442 Cave
- ( 设计高效算法 ) 年龄排序 Age Sort Uva 11462
- 【高效算法设计——递归】 UVa 1608 Non-boring sequences
- (高效算法设计)之高维问题 废料堆 Garbage heap Uva 10755
- 【高效算法设计——跳跃枚举】Uva 11093 Just Finish it up
- 【高效算法设计——滑动窗口】 UVa 12174 Shuffle
- 高效算法设计专项:LA 4726
- 【高效算法设计】UVa120 Stack of Flapjacks
- 【高效算法设计——滑动窗口】UVa 11572 Unique Snowflakes
- UVa 1210 (高效算法设计) Sum of Consecutive Prime Numbers