fork download
  1. #include<iostream>
  2. #include<stdio.h>
  3. using namespace std;
  4. int gcdNew(int a,int b)
  5. {
  6. if(a<b)
  7. {
  8. int temp=a;
  9. a=b;
  10. b=temp;
  11. }
  12. if(b==0)
  13. {
  14. return a;
  15. }
  16. gcdNew(b,a%b);
  17. }
  18.  
  19. int gcd( int *p, int copy_n_)
  20. {
  21. int mygcd=0;
  22. for( int i=0;i<copy_n_;i++)
  23. {
  24. if(*(p+i)==0)
  25. {
  26. continue;
  27. }
  28. mygcd=gcdNew(mygcd,*(p+i));
  29. }
  30. return mygcd;
  31. }
  32.  
  33. int main()
  34. {
  35. short int t;
  36. scanf("%hd",&t);
  37. int n,k,i,l,r,j,q;
  38. while(t)
  39. {
  40. //cin>>n>>q;
  41. scanf("%d %d",&n,&q);
  42. int a[n],op[q],copy_arr[n];
  43. for(i=0;i<n;i++)
  44. {
  45. //cin>>a[i];
  46. scanf("%d",&a[i]);
  47. }
  48. for(i=0;i<q;i++)
  49. {
  50. //cin>>l>>r;
  51. scanf("%d %d",&l,&r);
  52. for(j=0;j<n;j++)
  53. {
  54. copy_arr[j]=a[j];
  55. }
  56. for(j=l;j<=r;j++)
  57. {
  58. copy_arr[j-1]=0;
  59. }
  60. op[i]=gcd(copy_arr,n);
  61. }
  62. for(i=0;i<n;i++)
  63. {
  64. //cout<<op[i]<<"\n";
  65. printf("%d\n",op[i]);
  66. }
  67. t--;
  68. }
  69. return 0;
  70. }
  71.  
Runtime error #stdin #stdout 0s 3096KB
stdin
Standard input is empty
stdout
Standard output is empty