fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int item[1005][1005];
  5. int main()
  6. {
  7. int t;
  8. cin >> t;
  9.  
  10. while(t--)
  11. {
  12. int n,p;
  13. cin >> n >> p;
  14.  
  15. int arr[n],sum[n];
  16. for(int i=0;i<n;i++)
  17. cin >> arr[i];
  18.  
  19. sum[0] = arr[0];
  20. for(int i=1;i<n;i++)
  21. sum[i] = sum[i-1] + arr[i];
  22.  
  23.  
  24. for(int i=0;i<n;i++)
  25. item[i][i] = arr[i]%p;
  26.  
  27. for(int i=0;i<n;i++)
  28. {
  29. for(int j=0;j<i;j++)
  30. {
  31. int m = max(i,j);
  32. int n = min(i,j);
  33.  
  34. if(n-1>=0)
  35. item[i][j] = (sum[m]-sum[n-1])%p;
  36. else
  37. item[i][j] = sum[m]%p;
  38. }
  39. }
  40.  
  41. /*
  42.   for(int i=0;i<n;i++)
  43.   {
  44.   for(int j=0;j<=i;j++)
  45.   cout << item[i][j] << " ";
  46.   cout << endl;
  47.   }
  48.   */
  49.  
  50. int max_v,max_c;
  51. max_v = INT_MIN;
  52. max_c = 0;
  53.  
  54. //CORRECT LOGIC FROM HERE
  55. for(int i=0;i<n;i++)
  56. for(int j=0;j<=i;j++)
  57. max_v = max(max_v,item[i][j]);
  58.  
  59. for(int i=0;i<n;i++)
  60. for(int j=0;j<=i;j++)
  61. if(item[i][j] == max_v)
  62. max_c++;
  63.  
  64.  
  65. cout << max_v << " " << max_c << endl;
  66.  
  67. for(int i=0;i<n;i++)
  68. for(int j=0;j <n;j++)
  69. item[i][j] = 0;
  70. //CORRECT LOGIC TILL HERE
  71. }
  72. return 0;
  73. }
  74.  
Runtime error #stdin #stdout 0s 20000KB
stdin
Standard input is empty
stdout
Standard output is empty