fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long
  5.  
  6. int a[1005];
  7. int b[1005][1005];
  8. int c[100005];
  9.  
  10. int main(){
  11. ll n, q; cin >> n >> q;
  12. for(int i=1; i<=n; i+=2){
  13. a[i] = (i+1)/2;
  14. }
  15. for(int i=2; i<=n; i+=2){
  16. a[i] = n + 1 - (i/2);
  17. }
  18. for(int i=1; i<=n; i++){
  19. a[i] = a[i] + a[i-1];
  20. // cout << a[i] << " ";
  21. }
  22. // cout << "\n";
  23.  
  24. ll idx = 1;
  25. for(int i=0; i<n; i++){
  26. for(int j=i+1; j<=n; j++){
  27. b[i][j] = a[j] - a[i];
  28. // cout << b[i][j] << " ";
  29. c[idx] = b[i][j];
  30. idx++;
  31. }
  32. }
  33.  
  34. sort(c+1, c+idx+1);
  35. for(int i=1; i<=idx; i++){
  36. cout << c[i] << " ";
  37. }
  38. cout << "\n";
  39.  
  40. for(int i=1; i<=q; i++){
  41. ll x; cin >> x;
  42. int ans = 0;
  43. for(int i=0; i<n; i++){
  44. for(int j=i+1; j<=n; j++){
  45. if(b[i][j] == x) ans++;
  46. }
  47. }
  48. cout << ans << "\n";
  49. }
  50. }
  51.  
  52. /*
  53. 8 5
  54. 20 21 37 6 24
  55.  
  56. */
Success #stdin #stdout 0s 5548KB
stdin
8 5
20 21 37 6 24
stdout
0 1 2 3 4 5 6 7 8 9 9 9 9 10 10 10 11 12 13 15 16 17 18 18 18 20 20 21 22 25 26 27 27 30 31 35 36 
2
1
0
1
0