华东交通大学2017年ACM“双基”程序设计竞赛 1008
2017-11-18 18:21
239 查看
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 解法:暴...暴力
#include<bits/stdc++.h> using namespace std; int cnt[1234567]; int Max_a[1234567]; int Max_b[1234567]; int Min=0; int main(){ int t,n; scanf("%d", &t); while(t--){ Min=0; memset(Max_a, 0, sizeof(Max_a)); memset(Max_b, 0, sizeof(Max_b)); scanf("%d",&n); for(int i = 1; i <= n; i++){ scanf("%d", &cnt[i]); Max_a[i] = max(Max_a[i - 1], cnt[i]); } for(int i = n; i > 0; i--){ Max_b[i] = max(Max_b[i + 1], cnt[i]); } for(int i = 1; i < n; i++){ Min = max(Min, abs(Max_a[i] - Max_b[i + 1])); } printf("%d\n", Min); } return 0; }
相关文章推荐
- 华东交通大学2016年ACM“双基”程序设计竞赛 1008
- 华东交通大学2017年ACM“双基”程序设计竞赛 1001
- 华东交通大学2017年ACM“双基”程序设计竞赛 1010
- 华东交通大学2017年ACM“双基”程序设计竞赛 1002
- 华东交通大学2017年ACM“双基”程序设计竞赛 1003
- 华东交通大学2017年ACM“双基”程序设计竞赛 1005
- 华东交通大学2017年ACM“双基”程序设计竞赛 1009
- 华东交通大学2016年ACM“双基”程序设计竞赛 1001
- 华东交通大学2016年ACM“双基”程序设计竞赛 1002
- 华东交通大学2013年ACM“双基”程序设计竞赛 解题报告
- 华东交通大学2015年ACM“双基”程序设计竞赛
- 华东交通大学2016年ACM“双基”程序设计竞赛 1003
- 华东交通大学2016年ACM“双基”程序设计竞赛
- 华东交通大学2016年ACM“双基”程序设计竞赛 1007
- 华东交通大学2013年ACM“双基”程序设计竞赛
- 华东交通大学2015年ACM“双基”程序设计竞赛1001
- 华东交通大学2015年ACM“双基”程序设计竞赛1007
- 华东交通大学2016年ACM“双基”程序设计竞赛 1009
- 华东交通大学2013年ACM“双基”程序设计竞赛获奖公示
- 华东交通大学2015年ACM“双基”程序设计竞赛1005