fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include<bits/stdc++.h>
  4. using namespace std;
  5. int main() {
  6. std::vector<int> scv = {
  7. -3, 13, 6, -29, -31, 43, 46, 8, 7, 21, 12, 6, 31, 38, 2, 31,
  8. 12, -8, 23, 14, -22, 37, 24, 19, -2, 24, 17, 31, -6, 2, 4, 11,
  9. -13, 41, 17, 4, 15, -9, -32, 33, 23, -6, 18, 32, 9, -6, 23, 9,
  10. -15, 20, 3, 19, -16, 11, 8
  11. };
  12.  
  13. std::vector<int> vti = {
  14. -2, 11, 12, -25, -36, 30, 21, -11, -1, 5, 16, -11, 19, 19, 1, 28,
  15. 15, -2, 12, 24, -10, 29, 6, 8, -1, 34, 19, 30, 24, 19, -13, -9,
  16. -25, 30, 8, 2, 12, 1, -37, 26, 16, -2, 14, 31, 12, 0, 11, 19,
  17. -7, 28, 19, 18, -24, 22, 20
  18. };
  19.  
  20. int t = vti.size();
  21. vector<double> tmp(t,1.0);
  22. vector<vector<double>> telltale(t, tmp);
  23.  
  24. for(int l=0;l< t;l++)
  25. {
  26. for(int r=l; r<t;r++)
  27. {
  28. int cnt = r-l+1;
  29. double d= 1.0;
  30. for(int k=0; k<cnt;k++)
  31. {
  32. double scv_r = (100.0 +scv[l+k])/100,
  33. vti_r = (100.0 +vti[l+k])/100;
  34. d = (d*scv_r)/vti_r;
  35. }
  36. telltale[l][r]= d;
  37. }
  38. }
  39. vector<vector<double>> distribution_telltale_rolling_period(t+1);
  40. for(int l=0;l<t;l++)
  41. {
  42. for(int r=l;r<t;r++)
  43. {
  44. distribution_telltale_rolling_period[r-l+1].push_back(telltale[l][r]);
  45. }
  46. }
  47.  
  48. for(int i=1;i< (t+1);i++)
  49. {
  50. sort(distribution_telltale_rolling_period[i].begin(),
  51. distribution_telltale_rolling_period[i].end());
  52. if(i!=1)
  53. cout<<"\n";
  54. int sz = (distribution_telltale_rolling_period[i].size())*0.15;
  55. cout<<int(10000*distribution_telltale_rolling_period[i][sz]);
  56.  
  57. }
  58.  
  59. // for(int i=1;i< (t+1);i++)
  60. // {
  61. // sort(distribution_telltale_rolling_period[i].begin(),
  62. // distribution_telltale_rolling_period[i].end());
  63. // //cout<<"\n"<<i;
  64. // for(int j=0; j< distribution_telltale_rolling_period[i].size();j++)
  65. // {
  66. // cout<<"(";
  67. // cout<<i<<","<<distribution_telltale_rolling_period[i][j]<<"),";
  68. // }
  69. // }
  70. return 0;
  71. }
  72.  
Success #stdin #stdout 0s 5284KB
stdin
Standard input is empty
stdout
9159
8959
8750
8720
8175
7591
8268
8298
8162
7734
8240
7710
8322
8393
7819
8440
8504
9224
10186
12132
12347
12222
12390
11912
11338
11387
11195
10360
11859
11960
11594
12027
11953
11185
10434
11176
10414
10502
11608
13408
14819
15418
16058
15505
17867
19311
23434
28276
29625
27993
29851
28570
27040
27527
27246