fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #pragma region Macros
  5. #define Faster ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  6. #define ll long long
  7. #define ld long double
  8. #define pii pair<int, int>
  9. #define pll pair<long long, long long>
  10. #define all(x) x.begin(), x.end()
  11. #define rall(x) x.rbegin(), x.rend()
  12. #define pb push_back
  13. #define ff first
  14. #define ss second
  15. #define endl '\n'
  16. #define yes cout << "YES" << endl
  17. #define no cout << "NO" << endl
  18. #define m1 cout << -1 << endl
  19. #pragma endregion
  20.  
  21. #pragma region Math
  22. const ll MOD = 1e9 + 7;
  23. ll gcd(ll a, ll b) { return __gcd(a, b); }
  24. ll lcm(ll a, ll b) { return (a / gcd(a, b)) * b; }
  25. #pragma endregion
  26.  
  27. void solve() {
  28. int n,k; cin>>n>>k;
  29. vector<int>v(n), h(n);
  30. for(auto &it:v) cin>>it;
  31. for(int i=0;i<n;i++) h[i]=v[i]/2;
  32. for(int i=1;i<n;i++) h[i]+=h[i-1];
  33. int ans=0;
  34. for(int i=0;i<n-1;i++){
  35. int val=0;
  36. for(int j=i+1;j<n;j++){
  37. val= v[i]+v[j];
  38. cout<<i<<" "<<j<<" "<<val<<" ";
  39. int pre=0;
  40. if(i>0)
  41. pre=h[i-1];
  42. int mid=h[j-1]-h[i];
  43. int suf=h[n-1]-h[j];
  44. val+=(pre+mid+suf);
  45. cout<<pre<<" "<<mid<<" "<<suf<<" "<<val<<endl;
  46.  
  47. }
  48. // cout<<val<<endl;
  49. if(val>k) ans++;
  50. }
  51. cout<<ans<<endl;
  52. }
  53.  
  54. int main() {
  55. Faster;
  56. int t = 1;
  57. cin >> t;
  58. while (t--) solve();
  59. return 0;
  60. }
Success #stdin #stdout 0.01s 5292KB
stdin
1
4 14
8 4 0 6
stdout
0 1 12 0 0 3 15
0 2 8 0 2 3 13
0 3 14 0 2 0 16
1 2 4 4 0 3 11
1 3 10 4 0 0 14
2 3 6 6 0 0 12
1