Skip to content

Instantly share code, notes, and snippets.

@wdsrocha
Created March 3, 2019 07:19
Show Gist options
  • Save wdsrocha/d3e79e4273773c46e5acdba9bb64b120 to your computer and use it in GitHub Desktop.
Save wdsrocha/d3e79e4273773c46e5acdba9bb64b120 to your computer and use it in GitHub Desktop.
Base code used on codeforces rounds
#include <bits/stdc++.h>
using namespace std;
#if DEBUG && !ONLINE_JUDGE
#define debug(args...) (Debugger()) , args
class Debugger {
public:
Debugger(const string sep = " | ") : first(1), sep(sep) {}
template <typename T> Debugger& operator , (const T& arg) {
if (first) first = false;
else cerr << sep;
cerr << arg;
return *this;
}
~Debugger() { cerr << endl; }
private:
bool first = true;
string sep;
};
inline ostream& operator << (ostream& os, const string& data) {
os << "\'"; for (auto c : data) os << c; return os << "\'";
}
template <typename T1, typename T2>
inline ostream& operator << (ostream& os, const pair <T1, T2>& data) {
return os << "(" << data.first << ", " << data.second << ")";
}
template <typename T>
inline ostream& operator << (ostream& os, const vector <T>& data) {
os << "["; for (T value : data) os << value << ", "; return os << "\b\b]";
}
template <typename T>
inline ostream& operator << (ostream& os, const set <T>& data) {
os << "{"; for (T value : data) os << value << ", "; return os << "}";
}
template <typename T1, typename T2>
inline ostream &operator << (ostream& os, const map <T1, T2>& data) {
os << "{"; for (auto [key, item] : data) os << key << ": " << item << ", "; return os << "\b\b}";
}
#else
#define debug(args...)
#endif
#define NAME(var) #var
#define int long long
#define ii pair <int, int>
#define st first
#define nd second
#define vi vector <int>
#define vii vector <ii>
#define vvi vector <vi>
#define vvii vector <vii>
#define pb push_back
#define eb emplace_back
#define oo (1000000000)
#define MOD (1000000007)
#define sz(x) ((int)((x).size()))
#define all(x) begin(x), end(x)
#define rall(x) rbegin(x), rend(x)
inline int fexp(int b, int e) { int x = 1; for (; e; e >>= 1, b = (b*b)%MOD) if (e&1) x = (x*b)%MOD; return x; }
signed main() {
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment