uva11078Open Credit System

题意:给定n个整数,求Ai-Aj的最大值(i<j), 2<=n<=100000

分析:简单模拟的话,用二重循环,O(n2)的复杂度肯定不行。对于每个Aj,只需要Ai最大就行,而最大的Ai可以通过相邻元素的比较获得,那么接下来枚举Aj即可,转化成O(n)

代码:

View Code

 1 #include <stdio.h>
 2 #include <iostream>
 3 #define DEBUG
 4 using namespace std;
 5 const int MAXN = 10000 + 10;
 6 int a[MAXN];
 7 int main(){
 8 #ifndef DEBUG
 9     freopen("in.txt", "r", stdin);
10 #endif
11     int cas;
12     scanf("%d", &cas);
13     while(cas--){
14         int n;
15         scanf("%d", &n);
16         int i, j;
17         for(i=0; i<n; i++) scanf("%d", &a[i]);
18         int ans = a[0]-a[1];
19         int maxai = a[0];
20         for(j=1; j<n; j++){
21             ans = max(ans, maxai-a[j]);
22             maxai = max(maxai, a[j]);
23         }
24         printf("%d\n", ans);
25     }
26     return 0;
27 }

话说uva这题挂掉了,提交上去是RE,等待它修好了再提交吧。

时间: 2024-11-27 23:50:43

uva11078Open Credit System的相关文章

UVA之11078 - Open Credit System

[题目] Problem E Open Credit System Input: Standard Input Output: Standard Output In an open credit system, the students can choose any course they like, but there is a problem. Some of the students are more senior than other students. The professor of

uva 11078 Open Credit System

点击打开链接uva11078 水题 对于一个确定的j来说,要求num[i]是最大的,所以我们枚举j然后维护最大的num[i],然后同时求最大的ans即可 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int main(){ const int MAXN = 100010; int Case , n , ans , n

Learn Blockchain and Smart Contract in 10 Minutes

So what is blockchain exactly?  In general, a blockchain implements a brand new credit system.  Another synonymous saying goes like this: the blockchain system is a "trustless" system that implements its own credit.  The credit system is not sub

区块链技术指南.

区块链技术指南 邹均 张海宁 唐屹 李磊 等著 图书在版编目(CIP)数据 区块链技术指南 / 邹均等著. -北京:机械工业出版社,2016.11 ISBN 978-7-111-55356-4 I. 区- II. 邹- III. 电子商务-支付方式-指南 IV. F713.361.3-62 中国版本图书馆CIP数据核字(2016)第268750号 区块链技术指南 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037) 责任编辑:高婧雅 责任校对:殷 虹 印 刷: 版 次

区块链技术指2.2 以太坊

2.2 以太坊 2.2.1 什么是以太坊 自2008年比特币出现以来,数字货币的存在已经渐渐为一部分人所接受.人们也积极展开了基于比特币的商业应用的思考与开发.但是随着应用的扩展,人们发现比特币的设计只适合虚拟货币场景,由于存在着非图灵完备性.缺少保存状态的账户概念,以及PoW挖矿机制所带来的资源浪费和效率问题,在很多区块链应用场景下并不适用.人们需要一个新的基于区块链的具有图灵完备性.高效共识机制.支持更多应用场景的智能合约开发平台.以太坊在这种情况下应运而生. 以太坊的目的是对脚本.竞争币和

What is an Embedded System?

What is an Embedded System? Most people don't realise that the most common form of computer in use today is by far the embedded computer. In fact, 98% of computing devices are embedded in all kinds of electronic equipment and machines. Computers are

Credit Management(SD)

Credit Management October 23, 2007 - jiteshdua All business have their own credit management needs, SAP allows you to specify your own automatic credit checks based on a variety of criteria. You can also specify at which critical points in the sales

NT AUTHORITY SYSTEM用户代表什么

  NT AUTHORITYSYSTEM代表程序以系统身份运行,这是两个系统内置的系统账户. system账户具有比administration更高的权限.nt authority是由系统授权的一个账户,可以不用. Guest和administrator用户是内置用户,只能改名无法删除,但guest用户可以禁用.         注:更多精彩教程请关注三联电脑教程栏目,三联电脑办公群:189034526欢迎你的加入

SYSTEM.GC FINALIZE小小的注释

垃圾回收是不可预知的,而且有多种垃圾回收的算法System.gc(),同样是一个不可预知的方法,调用该方法即向JVM提出建议:有垃圾,请回收.具体回不回收由JVM的垃圾回收算法决定,我的垃圾回收算法如tracing算法是在cpu出现空闲资源的时候进行回收,找出那些不可达的对象当作垃圾回收,而有些是在内存满的时候回收那些不可达的垃圾对象你的程序中体现出gc的作用,即它可以建议JVM进行垃圾回收,通过finalize()确保对象的释放,但是这个过程是不确定的.