//teja349 #include #include #include #include #include #include #include #include #include #include #include #include #include #include //setbase - cout << setbase (16); cout << 100 << endl; Prints 64 //setfill - cout << setfill ('x') << setw (5); cout << 77 << endl; prints xxx77 //setprecision - cout << setprecision (14) << f << endl; Prints x.xxxx //cout.precision(x) cout<=b;i--) #define pb push_back #define mp make_pair #define vi vector< int > #define vl vector< ll > #define ss second #define ff first #define ll long long #define pii pair< int,int > #define pll pair< ll,ll > #define sz(a) a.size() #define inf (1000*1000*1000+5) #define all(a) a.begin(),a.end() #define tri pair #define vii vector #define vll vector #define viii vector #define mod (1000*1000*1000+7) #define pqueue priority_queue< int > #define pdqueue priority_queue< int,vi ,greater< int > > //std::ios::sync_with_stdio(false); ll a[123456],dp[51234][18],seg[4*51234][2],lazy[4*51234][2],nextmax[51234]; ll gcd(ll a,ll b){ while(b!=0){ a=a%b; swap(a,b); } return a; } ll lolgcd(ll val1,ll val2){ val1=abs(val1); val2=abs(val2); if(val1>n; ll i; rep(i,n){ cin>>a[i]; dp[i][0]=a[i]; } ll j; f(i,1,18){ rep(j,n){ if(j+(1<n){ continue; } dp[j][i]=lolgcd(dp[j][i-1],dp[j+(1<<(i-1))][i-1]); } } ll maxi=0; build(1,0,n-1); i=0; stack st; while(i