【NOIP2014模拟8.17】Magical GCD
2016-10-07 12:06
169 查看
Description
对于一个由正整数组成的序列, Magical GCD 是指一个区间的长度乘以该区间内所有数字的最大公约数。给你一个序列,求出这个序列最大的 Magical GCD。
Input
单个测试点包含多组数据。
输入的第一行是一个整数T表示数据组数。
每组数据的第一行是一个整数N,描述序列长度。
接下来N个数字,描述这个序列元素A[i]。
Output
对于每组测试数据输出一行,包含一个整数,表示序列最大的 Magical GCD。
题解
暴力出正解。
注:int64!!
代码
对于一个由正整数组成的序列, Magical GCD 是指一个区间的长度乘以该区间内所有数字的最大公约数。给你一个序列,求出这个序列最大的 Magical GCD。
Input
单个测试点包含多组数据。
输入的第一行是一个整数T表示数据组数。
每组数据的第一行是一个整数N,描述序列长度。
接下来N个数字,描述这个序列元素A[i]。
Output
对于每组测试数据输出一行,包含一个整数,表示序列最大的 Magical GCD。
题解
暴力出正解。
注:int64!!
代码
var t,n,m:longint; ans:int64; a,b:array [0..100001] of int64; l:array[0..100001] of longint; function gcd(o,p:int64):int64; begin if p=0 then exit(o); exit(gcd(p,o mod p)); end; function max(o,p:int64):int64; begin if o>p then exit(o); exit(p); end; procedure init; var i:longint; begin readln(n); ans:=0; m:=1; l[1]:=1; for i:=1 to n do begin read(a[i]); ans:=max(ans,a[i]); end; for i:=1 to n-1 do b[i]:=gcd(a[i],a[i+1]); for i:=1 to n-2 do if (b[i] mod b[i+1])<>0 then begin inc(m); l[m]:=i+1; end; l[0]:=-1; l[m+1]:=maxlongint; end; procedure main; var i,j,len:longint; gcdt:int64; begin len:=0; for i:=1 to n-1 do begin while l[len]<=i do inc(len); dec(len); gcdt:=b[i]; for j:=len downto 1 do begin ans:=max(ans,(i-l[j]+2)*gcdt); gcdt:=gcd(gcdt,b[l[j]-1]); if gcdt=1 then begin ans:=max(ans,i+1); break; end; end; end; end; begin readln(t); while t>0 do begin init; main; writeln(ans); dec(t); end; end.
相关文章推荐
- 【NOIP2014模拟8.17】Magical GCD
- 【NOIP2014模拟8.17】Magical GCD
- jzoj3782 [NOIP2014模拟8.17] 组队
- JZOJ 3782. 【NOIP2014模拟8.17】组队
- 【NOIP2014模拟8.17】Multiset //2018.2.5
- JZOJ3782. 【NOIP2014模拟8.17】组队
- jzoj3782 【NOIP2014模拟8.17】组队 (特殊情况的2sat,dp)
- 【NOIP2014模拟8.17】Magical GCD//2018.2.5
- 【NOIP2014模拟11.1B组】吴传之火烧连营(tree)
- jzoj3775 [NOIP2014模拟8.15]因子的排列
- JZOJ 3809 【NOIP2014模拟8.25】设备塔
- [JZOJ 3794]. 【NOIP2014模拟8.20】高级打字机
- 高中OJ 3793. 【NOIP2014模拟8.20】数字对
- [JZSC2016 Part 2]【NOIP2016提高A组模拟8.17】总结
- 【JZOJ4709】【NOIP2016提高A组模拟8.17】Matrix
- [jzoj]3729. 【NOIP2014模拟7.10】表达式的值(exp) (分块转化模型)
- 【NOIP2014模拟11.2A组】福慧双修
- JZOJ 3815. 【NOIP2014模拟9.7】克卜勒
- 【jzoj5289】【NOIP2017提高组A组模拟8.17】【偷笑】【数据结构】
- 【JZOJ 3823】【NOIP2014模拟9.9】遇见