Advertisement
Guest User

Untitled

a guest
Apr 7th, 2020
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.66 KB | None | 0 0
  1. #pragma GCC optimize("O3", "unroll-loops")
  2. #pragma GCC target("avx2")
  3.  
  4. #include <iostream>
  5. #include <iomanip>
  6. #include <vector>
  7. #include <algorithm>
  8. #include <cmath>
  9. #include <string>
  10. #include <map>
  11. #include <unordered_map>
  12. #include <set>
  13. #include <unordered_set>
  14. #include <bitset>
  15. #include <sstream>
  16. #include <deque>
  17. #include <queue>
  18. #include <complex>
  19. #include <random>
  20. #include <cassert>
  21. #include <chrono>
  22.  
  23. using namespace std;
  24.  
  25. #define FAST ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
  26. #define FIXED cout << fixed << setprecision(12)
  27. #define ll long long
  28. #define ld long double
  29. #define pii pair<int, int>
  30. #define pll pair<ll, ll>
  31. #define graph vector<vector<int>>
  32. #define pb push_back
  33. #define pf push_front
  34. #define popb pop_back
  35. #define popf pop_front
  36. #define f first
  37. #define s second
  38. #define hashmap unordered_map
  39. #define hashset unordered_set
  40. #define eps 1e-9
  41. #define mod 1000000007
  42. #define inf 3000000000000000007ll
  43. #define sz(a) signed(a.size())
  44. #define all(a) a.begin(), a.end()
  45. #define rall(a) a.rbegin(), a.rend()
  46.  
  47. #ifdef DEBUG
  48.     mt19937 gen(857204);
  49. #else
  50.     mt19937 gen(chrono::high_resolution_clock::now().time_since_epoch().count());
  51. #endif
  52.  
  53. template<class T, class U> inline void checkmin(T &x, U y) { if (y < x) x = y; }
  54. template<class T, class U> inline void checkmax(T &x, U y) { if (y > x) x = y; }
  55. template<class T, class U> inline bool ifmax(T &x, U y) { if (y > x) return x = y, true; return false; }
  56. template<class T, class U> inline bool ifmin(T &x, U y) { if (y < x) return x = y, true; return false; }
  57. template<class T> inline void sort(T &a) { sort(all(a)); }
  58. template<class T> inline void rsort(T &a) { sort(rall(a)); }
  59. template<class T> inline void reverse(T &a) { reverse(all(a)); }
  60. template<class T, class U> inline istream& operator>>(istream& str, pair<T, U> &p) { return str >> p.f >> p.s; }
  61. template<class T> inline istream& operator>>(istream& str, vector<T> &a) { for (auto &i : a) str >> i; return str; }
  62. template<class T> inline T sorted(T a) { sort(a); return a; }
  63.  
  64. int n, d, k, m;
  65. ll cnt = 0, cntall = 0;
  66. vector<int> st;
  67.  
  68. void rec(int i) {
  69.     if (i == m) {
  70.         ++cntall;
  71.         auto v = st;
  72.         sort(v);
  73.         cnt += k < v[d - 1];
  74.         return;
  75.     }
  76.     for (int lst = 1; lst <= n; ++lst) {
  77.         st.pb(lst);
  78.         rec(i + 1);
  79.         st.popb();
  80.     }
  81. }
  82.  
  83. signed main() {
  84.     FAST; FIXED;
  85.     cin >> n >> d >> k;
  86.     for (m = d; m <= n; ++m) {
  87.         cnt = cntall = 0;
  88.         rec(0);
  89.         cout << cnt << "/" << cntall << '\n';
  90.     }
  91.     #ifdef DEBUG
  92.         cerr << "Runtime is: " << clock() * 1.0 / CLOCKS_PER_SEC << endl;
  93.     #endif
  94.     return 0;
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement