Uva 11078 Open Credit System

Root :: AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu) :: Chapter 1. Algorithm Design :: Designing Efficient Algorithms :: Examples

/*
题意:n个整数a1~an-1  找到两个数ai aj 使ai-aj尽可能大(i<j)
     直接的想法 找到每组(ai,aj)数对 max比较找到dmax
     时间是n^2 超时(M=100000+10)
思路:单位时间维护最大值,该题不用输入都结束再处理数据(时间从n降到l)
      可以边输入边比较维护。
      输出要求打印距离即可,当要求输出i和j时
      要记得在max函数更新最大值时候记录i和j
*///Uva 11078 Open Credit System

//AC

复制代码
 1 //AC
 3 #include<stdio.h>
 4 #include<algorithm>
 5 using namespace std;
 6 const int M=100000+10;
 7 int t;
 8 int a[M];
 9 int main()
10 {
11     int i,j,k,n;
12     int ai,dmax;
13     scanf("%d",&t);
14     while(t--)
15     {
16         scanf("%d",&n);
17         scanf("%d%d",&a[0],&a[1]);
18         dmax=a[0]-a[1];
19         ai=a[0];
20         for(i=1;i<n;i++)
21         {
22             if(i<2)
23             {
24                 dmax=max(dmax,ai-a[1]);//单位时间维护距离最大值dmax
25                 ai=max(ai,a[1]);//不断更新ai 使ai尽可能大,为使ai-aj尽可能大
26             }
27             else
28             {
29                 scanf("%d",&a[i]);
30                 dmax=max(dmax,ai-a[i]);
31                 ai=max(ai,a[i]);
32             }
33         }
34         printf("%d\n",dmax);
35     }
36     return 0;
37 }
38 /*
39 5
40 6
41 1 2 3 4 78 6
42 */
43 
44  
复制代码

 

posted on   ACM_Someone like you  阅读(243)  评论(0编辑  收藏  举报

编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)

导航

< 2013年3月 >
24 25 26 27 28 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31 1 2 3 4 5 6
点击右上角即可分享
微信分享提示