Uva 11078 Open Credit System
2013-03-20 16:11
239 查看
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
/*
题意: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
//AC #include<stdio.h> #include<algorithm> using namespace std; const int M=100000+10; int t; int a[M]; int main() { int i,j,k,n; int ai,dmax; scanf("%d",&t); while(t--) { scanf("%d",&n); scanf("%d%d",&a[0],&a[1]); dmax=a[0]-a[1]; ai=a[0]; for(i=1;i<n;i++) { if(i<2) { dmax=max(dmax,ai-a[1]);//单位时间维护距离最大值dmax ai=max(ai,a[1]);//不断更新ai 使ai尽可能大,为使ai-aj尽可能大 } else { scanf("%d",&a[i]); dmax=max(dmax,ai-a[i]); ai=max(ai,a[i]); } } printf("%d\n",dmax); } return 0; } /* 5 6 1 2 3 4 78 6 */
相关文章推荐
- UVA - 11078 Open Credit System
- UVA 11078 Open Credit System
- UVA之11078 - Open Credit System
- UVA 11078 Open Credit System
- UVa 11078 - Open Credit System(维护最大值)
- UVA 11078 Open Credit System
- Open Credit System - UVa 11078 水题
- UVA 11078 Open Credit System
- UVA 11078 Open Credit System
- uva 11078 - Open Credit System
- uva11078 - Open Credit System(开放式学分制)
- UVA 11078 Open Credit System (水题)
- uva11078 - Open Credit System(动态维护关键值)
- UVA 11078 Open Credit System
- Uva----------(11078)Open Credit System
- UVa11078 - Open Credit System
- uva 11078 Open Credit System
- uva 11078 Open Credit System
- uva_11078_Open Credit System(DP)
- Open Credit System UVA 11078