博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 11549 Open Credit System
阅读量:5235 次
发布时间:2019-06-14

本文共 1561 字,大约阅读时间需要 5 分钟。

题意:给出n个数,找出两个整数a[i],a[j](i < j),使得a[i] - a[j]尽量大

从小到大枚举j,在这个过程中维护a[i]的最大值

maxai晚于ans更新,

可以看这个例子

 1 8 9 10 11

正确的应该是-1

如果更早更新的话,算出来就是0

用数组来存的

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 using namespace std;12 13 typedef long long LL;14 const int INF = (1<<30)-1;15 const int mod=1000000007;16 const int maxn=1000005;17 18 int a[maxn];19 int n;20 21 int main(){22 int T;23 scanf("%d",&T);24 while(T--){25 scanf("%d",&n);26 for(int i = 0;i < n;i++) scanf("%d",&a[i]);27 int ans = a[0] - a[1];28 int maxai = a[0];29 for(int j = 1;j < n;j++){30 ans = max(ans,maxai - a[j]);31 maxai = max(maxai,a[j]);32 // printf("j = %d maxai = %d ans = %d\n",j,maxai,ans);33 }34 printf("%d\n",ans);35 }36 return 0;37 }
View Code

边读边算的

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 using namespace std;12 13 typedef long long LL;14 const int INF = (1<<30)-1;15 const int mod=1000000007;16 const int maxn=1000005;17 18 int main(){19 int T;20 scanf("%d",&T);21 while(T--){22 int n;23 scanf("%d",&n);24 25 int x,y,ans;26 scanf("%d %d",&x,&y);27 ans = x-y;28 int maxai = x;29 for(int i = 2;i
View Code

 

转载于:https://www.cnblogs.com/wuyuewoniu/p/4626761.html

你可能感兴趣的文章
阅读软件工程的问题
查看>>
【Netty】UDP广播事件
查看>>
(4)Numpy+矩阵计算+和生成
查看>>
ttt
查看>>
[置顶] java处理office文档与pdf文件(一)
查看>>
Flutter之内置动画(转)
查看>>
MySql优化相关概念的理解笔记
查看>>
数据库解决方案
查看>>
备份U盘分区表,未雨绸缪
查看>>
Eclipse配置 自动补全功能 快捷键 alt+/
查看>>
DataContract和DataMember的作用
查看>>
来自XP的道别信
查看>>
js如何获取response header信息
查看>>
python_文件的打开和关闭
查看>>
mysql archive存储引擎导入数据报duplicate key
查看>>
ADO.NET介绍
查看>>
iOS: 数据持久化方案
查看>>
【C#】【Thread】Monitor和Lock
查看>>
UVALive - 3635 - Pie(二分)
查看>>
ext4.0 代理 的使用
查看>>