fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. ios_base::sync_with_stdio(false);
  6. cin.tie(NULL);
  7. int t;
  8. cin>>t;
  9.  
  10. int *arr = new int[100010];
  11. int *l = new int[100010];
  12. int *r = new int[100010];
  13. while(t--)
  14. {
  15. int n,k;
  16. cin>>n>>k;
  17.  
  18. int ans = INT_MAX;
  19.  
  20. for(int i=1;i<=n;i++)
  21. {
  22. cin>>arr[i];
  23. }
  24. l[0] = 0;
  25. l[n+1] = 0;
  26. r[0] = 0;
  27. r[n+1] = 0;
  28.  
  29. for(int i=1;i<=n;i++)
  30. {
  31. int curr = arr[i]%k;
  32. l[i] = (l[i-1] + curr);
  33. }
  34.  
  35. for(int i = n; i >= 1;i--)
  36. {
  37. int curr = k - (arr[i]%k) ;
  38. r[i] = (r[i+1] + curr);
  39. }
  40.  
  41. for(int i=1;i<=n;i++)
  42. {
  43. int pos = abs(l[i]-r[i]);
  44. cout<<l[i]<<" "<<r[i]<<"|";
  45. ans = min(ans,pos);
  46. }
  47. cout<<ans<<endl;
  48. }
  49. delete[] arr;
  50. delete[] l;
  51. delete[] r;
  52. return 0;
  53. }
  54.  
Success #stdin #stdout 0s 4184KB
stdin
1
5 7
1 14 4 41 1
stdout
1 23|1 17|5 10|11 7|12 6|4