Advertisement
ALENTL

CPP_CP_Template

Nov 21st, 2023
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.50 KB | None | 0 0
  1. // --------------------------------------------------<TEMPLATE>--------------------------------------------------
  2. // --------------------<optimizations>--------------------
  3.  
  4. /*
  5. #pragma GCC optimize("Ofast,unroll-loops")
  6. #pragma GCC target("avx,avx2,fma")
  7. */
  8.  
  9. // -------------------</optimizations>--------------------
  10.  
  11. // ---------------<Headers and namespaces>----------------
  12. #include <bits/stdc++.h>
  13. using namespace std;
  14.  
  15. /*
  16. #include <ext/pb_ds/assoc_container.hpp>
  17. #include <ext/pb_ds/tree_policy.hpp>
  18. using namespace __gnu_pbds;
  19. */
  20.  
  21. // ---------------</Headers and namespaces>---------------
  22.  
  23. // -----------------<Defines and typedefs>----------------
  24. // typedef tree<int,null_type,less<int>,rb_tree_tag, \
  25. tree_order_statistics_node_update> indexed_set; // use less_equal for multiset
  26. // order_of_key (val): returns the no. of values less than val
  27. // find_by_order (k): returns the iterator to kth largest element.(0-based)
  28.  
  29. typedef long double LD;
  30. typedef long long ll;
  31. #define int ll
  32. #define pb push_back
  33. #define mp make_pair
  34. #define REP(i,n) for (int i = 0; i < n; i++)
  35. #define FOR(i,a,b) for (int i = a; i < b; i++)
  36. #define REPD(i,n) for (int i = n-1; i >= 0; i--)
  37. #define FORD(i,a,b) for (int i = a; i >= b; i--)
  38. #define remax(a,b) a = max(a,b)
  39. #define remin(a,b) a = min(a,b)
  40. #define all(v) v.begin(),v.end()
  41. typedef map<int,int> mii;
  42. typedef vector<int> vi;
  43. typedef vector<vi> vvi;
  44. typedef pair<int,int> pii;
  45. typedef vector<pii> vpii;
  46. #define F first
  47. #define S second
  48. #define PQ(type) priority_queue<type>
  49. #define PQD(type) priority_queue<type,vector<type>,greater<type> >
  50. #define WL(t) while(t --)
  51. #define SZ(x) ((int)(x).size())
  52. #define runtime() ((double)clock() / CLOCKS_PER_SEC)
  53. #define inrange(i,a,b) ((i>=min(a,b)) && (i<=max(a,b)))
  54.  
  55. /*
  56. // -----<SCANF>-----
  57. #define sfi(x) scanf("%d",&x);
  58. #define sfi2(x,y) scanf("%d%d",&x,&y);
  59. #define sfi3(x,y,z) scanf("%d%d%d",&x,&y,&z);
  60.  
  61. #define sfl(x) scanf("%lld",&x);
  62. #define sfl2(x,y) scanf("%lld%lld",&x,&y);
  63. #define sfl3(x,y,z) scanf("%lld%lld%lld",&x,&y,&z);
  64. #define sfl4(x,y,z,x1) scanf("%lld%lld%lld%lld",&x,&y,&z,&x1);
  65. #define sfl5(x,y,z,x1,y1) scanf("%lld%lld%lld%lld%lld",&x,&y,&z,&x1,&y1);
  66. #define sfl6(x,y,z,x1,y1,z1) scanf("%lld%lld%lld%lld%lld%lld",&x,&y,&z,&x1,&y1,&z1);
  67.  
  68. #define sfs(x) scanf("%s",x);
  69. #define sfs2(x,y) scanf("%s%s",x,y);
  70. #define sfs3(x,y,z) scanf("%s%s%s",x,y,z);
  71. // ----</SCANF>-----
  72.  
  73. // ----<PRINTF>-----
  74. #define pfi(x) printf("%d\n",x);
  75. #define pfi2(x,y) printf("%d %d\n",x,y);
  76. #define pfi3(x,y,z) printf("%d %d %d\n",x,y,z);
  77.  
  78. #define pfl(x) printf("%lld\n",x);
  79. #define pfl2(x,y) printf("%lld %lld\n",x,y);
  80. #define pfl3(x,y,z) printf("%lld %lld %lld\n",x,y,z);
  81.  
  82. #define pfs(x) printf("%s\n",x);
  83. #define pfs2(x,y) printf("%s %s\n",x,y);
  84. #define pfs3(x,y,z) printf("%s %s %s\n",x,y,z);
  85.  
  86. #define pwe(x) printf("%lld ",x); // print without end
  87. // ----</PRINTF>----
  88. */
  89.  
  90. #define FLSH fflush(stdout)
  91. #define fileIO(name) \
  92. freopen(name".in", "r", stdin); \
  93. freopen(name".out", "w", stdout);
  94. #define PRECISION(x) cout << fixed << setprecision(x);
  95. #define FAST_IO ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  96.  
  97. // ----------------</Defines and typedefs>----------------
  98.  
  99. // -------------------<Debugging stuff>-------------------
  100. #define TRACE
  101.  
  102. #ifdef TRACE
  103. #define trace(...) __f(#__VA_ARGS__, __VA_ARGS__)
  104. template <typename Arg1>
  105. void __f(const char* name, Arg1&& arg1){
  106. cout << name << " : " << arg1 << std::endl;
  107. }
  108. template <typename Arg1, typename... Args>
  109. void __f(const char* names, Arg1&& arg1, Args&&... args){
  110. const char* comma = strchr(names + 1, ',');cout.write(names, comma - names) << " : " << arg1<<" | ";__f(comma+1, args...);
  111. }
  112. #else
  113. #define trace(...)
  114. #endif
  115.  
  116. // ------------------</Debugging stuff>-------------------
  117.  
  118. // ------------------------<Consts>-----------------------
  119. const int MAXN = 1000005;
  120. const int SQRTN = 1003;
  121. const int LOGN = 22;
  122. const double PI=acos(-1);
  123.  
  124. #ifdef int
  125. const int INF=1e16;
  126. #else
  127. const int INF=1e9;
  128. #endif
  129.  
  130. const int MOD = 1000000007;
  131. const int FMOD = 998244353;
  132. const double eps = 1e-9;
  133.  
  134. // -----------------------</Consts>-----------------------
  135.  
  136. /*
  137.  
  138. // -------------------------<RNG>-------------------------
  139. mt19937 RNG(chrono::steady_clock::now().time_since_epoch().count());
  140. #define SHUF(v) shuffle(all(v), RNG);
  141. // Use mt19937_64 for 64 bit random numbers.
  142.  
  143. // ------------------------</RNG>-------------------------
  144.  
  145. // ----------------------<MATH>---------------------------
  146.  
  147. template<typename T> T gcd(T a, T b){return(b?__gcd(a,b):a);}
  148. template<typename T> T lcm(T a, T b){return(a*(b/gcd(a,b)));}
  149. int add(int a, int b, int c = MOD){int res=a+b;return(res>=c?res-c:res);}
  150. int mod_neg(int a, int b, int c = MOD){int res;if(abs(a-b)<c)res=a-b;else res=(a-b)%c;return(res<0?res+c:res);}
  151. int mul(int a, int b, int c = MOD){ll res=(ll)a*b;return(res>=c?res%c:res);}
  152. int muln(int a, int b, int c = MOD){ll res=(ll)a*b;return ((res%c)+c)%c;}
  153. ll mulmod(ll a,ll b, ll m = MOD){ll q = (ll)(((LD)a*(LD)b)/(LD)m);ll r=a*b-q*m;if(r>m)r%=m;if(r<0)r+=m;return r;}
  154. template<typename T>T expo(T e, T n){T x=1,p=e;while(n){if(n&1)x=x*p;p=p*p;n>>=1;}return x;}
  155. template<typename T>T power(T e, T n, T m = MOD){T x=1,p=e;while(n){if(n&1)x=mul(x,p,m);p=mul(p,p,m);n>>=1;}return x;}
  156. template<typename T>T extended_euclid(T a, T b, T &x, T &y){T xx=0,yy=1;y=0;x=1;while(b){T q=a/b,t=b;b=a%b;a=t;\
  157. t=xx;xx=x-q*xx;x=t;t=yy;yy=y-q*yy;y=t;}return a;}
  158. template<typename T>T mod_inverse(T a, T n = MOD){T x,y,z=0;T d=extended_euclid(a,n,x,y);return(d>1?-1:mod_neg(x,z,n));}
  159.  
  160. const int FACSZ = 1; // Make sure to change this
  161.  
  162. int fact[FACSZ],ifact[FACSZ];
  163.  
  164. void precom(int c = MOD){
  165. fact[0] = 1;
  166. FOR(i,1,FACSZ) fact[i] = mul(fact[i-1],i,c);
  167. ifact[FACSZ-1] = mod_inverse(fact[FACSZ-1],c);
  168. REPD(i,FACSZ-1){
  169. ifact[i] = mul(i+1,ifact[i+1],c);
  170. }
  171. }
  172.  
  173. int ncr(int n,int r,int c = MOD){
  174. return mul(mul(ifact[r],ifact[n-r],c),fact[n],c);
  175. }
  176. */
  177.  
  178. // ----------------------</MATH>--------------------------
  179. // --------------------------------------------------</TEMPLATE>--------------------------------------------------
  180.  
  181. void solvethetestcase();
  182.  
  183. signed main(){
  184. // comment when using scanf,printf
  185. FAST_IO
  186.  
  187. int t = 1;
  188. // (UNCOMMENT FOR MULTIPLE TEST CASES) \
  189. cin >> t;
  190. FOR(testcase,1,t+1){
  191. // (UNCOMMENT FOR CODEJAM) \
  192. printf("Case #%lld: ",testcase);
  193. solvethetestcase();
  194. }
  195. }
  196.  
  197. int n;
  198.  
  199. void solvethetestcase(){
  200. cin >> n;
  201.  
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement