码迷,mamicode.com
首页 > 其他好文 > 详细

华东交通大学2017年ACM“双基”程序设计竞赛 1008

时间:2017-11-18 20:00:45      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:span   pre   esc   style   input   输出   一个   main   eof   

Problem Description

长度为 n 的序列,把它划分成两段非空的子序列,定义权值为:两段子序列的最大值的差的绝对值。求可能的最大的权值。
数据范围:
2 <= n <= 10^6 , 0 < 序列内的数 <= 10^6 。

Input

第一行输入一个 T,表示有 T 组数据。
接下来有 T 组数据,每组数据的第一行输入一个数 n ,第二行输入 n 个数。

Output

每组数据输出可能的最大的权值。

Sample Input

1
3
1 2 3

Sample Output

2

解法:暴...暴力

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int cnt[1234567];
 4 int Max_a[1234567];
 5 int Max_b[1234567];
 6 int Min=0;
 7 int main(){
 8     int t,n;
 9     scanf("%d", &t);
10     while(t--){
11         Min=0;
12         memset(Max_a, 0, sizeof(Max_a));
13         memset(Max_b, 0, sizeof(Max_b));
14         scanf("%d",&n);
15         for(int i = 1; i <= n; i++){
16             scanf("%d", &cnt[i]);
17             Max_a[i] = max(Max_a[i - 1], cnt[i]);
18         }
19         for(int i = n; i > 0; i--){
20             Max_b[i] = max(Max_b[i + 1], cnt[i]);
21         }
22 
23         for(int i = 1; i < n; i++){
24             Min = max(Min, abs(Max_a[i] - Max_b[i + 1]));
25         }
26         printf("%d\n", Min);
27     }
28     return 0;
29 }

 

华东交通大学2017年ACM“双基”程序设计竞赛 1008

标签:span   pre   esc   style   input   输出   一个   main   eof   

原文地址:http://www.cnblogs.com/yinghualuowu/p/7857563.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!