update to template

This commit is contained in:
ShazidMahsrafi 2023-12-28 18:44:41 +06:00
parent b3a1ef449d
commit d9d98c8b7c

View File

@ -1,7 +1,8 @@
#include<bits/stdc++.h> #include<bits/stdc++.h>
using namespace std; using namespace std;
// Short forms #define FAST_IO (ios_base:: sync_with_stdio(false),cin.tie(NULL));
#define int long long #define int long long
#define ll long long #define ll long long
#define ull unsigned long long #define ull unsigned long long
@ -12,31 +13,24 @@ using namespace std;
#define all(x) x.begin(), x.end() #define all(x) x.begin(), x.end()
#define sz(x) (int)(x).size() #define sz(x) (int)(x).size()
// Outputs
#define yes cout<<"YES"<<endl #define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl #define no cout<<"NO"<<endl
// Constants
#define PI 3.141592653589793238 #define PI 3.141592653589793238
#define MIN INT_MIN #define MIN INT_MIN
#define MAX INT_MAX #define MAX INT_MAX
#define INF LONG_LONG_MAX #define INF LONG_LONG_MAX
#define M 1000000007 #define MOD 1000000007
#define LLM 1000000000000000007 #define LLM 1000000000000000007
// Faster Input Output
#define FAST_IO (ios_base:: sync_with_stdio(false),cin.tie(NULL));
// Maths
ll fact(ll n) { if(n==0) return 1; ll res = 1; for (ll i = 2; i <= n; i++) res = res * i; return res; } ll fact(ll n) { if(n==0) return 1; ll res = 1; for (ll i = 2; i <= n; i++) res = res * i; return res; }
ll nPr(ll n, ll r) { return fact(n) / fact(n - r); } ll nPr(ll n, ll r) { return fact(n) / fact(n - r); }
ll nCr(ll n, ll r) { return fact(n) / (fact(r) * fact(n - r)); } ll nCr(ll n, ll r) { return fact(n) / (fact(r) * fact(n - r)); }
ll gcd(ll a, ll b) { if (b == 0) return a; return gcd(b, a % b); } ll gcd(ll a, ll b) { if (b == 0) return a; return gcd(b, a % b); }
ll lcm(ll a, ll b) { return (a * b) / gcd(a, b);} ll lcm(ll a, ll b) { return (a * b) / gcd(a, b);}
ull mypow(ull a, ull b) { ull ans = 1; a%=M; while(b){ if (b&1) ans = (ans*a) % M; a = (a*a) % M; b >>= 1; } return ans; } ull mypow(ull a, ull b) { ull ans = 1; a%=MOD; while(b){ if (b&1) ans = (ans*a) % MOD; a = (a*a) % MOD; b >>= 1; } return ans; }
bool isPrime(ll n) { if(n <= 1) return false; for(ll i = 2; i <= sqrt(n); i++) if(n % i == 0) return false; return true; } bool isPrime(ll n) { if(n <= 1) return false; for(ll i = 2; i <= sqrt(n); i++) if(n % i == 0) return false; return true; }
//Debugging
#ifndef ONLINE_JUDGE #ifndef ONLINE_JUDGE
#define dbg(x) cerr << #x <<" "; _print(x); cerr << endl; #define dbg(x) cerr << #x <<" "; _print(x); cerr << endl;
#define dbgin(x) cerr << #x <<" "; _print(x); cerr << ";"<<endl; #define dbgin(x) cerr << #x <<" "; _print(x); cerr << ";"<<endl;
@ -58,7 +52,6 @@ template <class T> void _print(unordered_set <T> v) {cerr<<"[ "; for(T i : v) {_
template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T, class V> void _print(map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T, class V> void _print(multimap <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T, class V> void _print(multimap <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
template <class T, class V> void _print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} template <class T, class V> void _print(unordered_map <T, V> v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void solve() void solve()
@ -71,5 +64,6 @@ int32_t main()
FAST_IO; FAST_IO;
int TC = 1; int TC = 1;
//cin >> TC; //cin >> TC;
while (TC--) solve(); while (TC--)
solve();
} }