Update templates
This commit is contained in:
parent
0c674144e9
commit
6f849c9771
|
@ -24,8 +24,8 @@ using vi = vector<int>; using vl = vector<ll>; using vd = vector<ld>;
|
||||||
using vii = vector<ii>; using vpl = vector<pl>; using vpd = vector<pd>;
|
using vii = vector<ii>; using vpl = vector<pl>; using vpd = vector<pd>;
|
||||||
template<typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
|
template<typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
|
||||||
template<typename T> using ordered_multiset = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>; // Use with caution
|
template<typename T> using ordered_multiset = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>; // Use with caution
|
||||||
constexpr ll MX = 1e5+5, ll INF = 1e9, LINF = 1e18, ll MOD = 1e9+7;
|
|
||||||
constexpr ld PI = 4*atan((ld)1);
|
constexpr ld PI = 4*atan((ld)1);
|
||||||
|
constexpr ll MX = 1e5+5, ll INF = 1e9, LINF = 1e18, ll MOD = 1e9+7;
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
if (fopen("in", "r")) freopen("in", "r", stdin), freopen("out", "w", stdout);
|
if (fopen("in", "r")) freopen("in", "r", stdin), freopen("out", "w", stdout);
|
||||||
|
|
|
@ -24,15 +24,12 @@ using vi = vector<int>; using vl = vector<ll>; using vd = vector<ld>;
|
||||||
using vii = vector<ii>; using vpl = vector<pl>; using vpd = vector<pd>;
|
using vii = vector<ii>; using vpl = vector<pl>; using vpd = vector<pd>;
|
||||||
template<typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
|
template<typename T> using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
|
||||||
template<typename T> using ordered_multiset = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>; // Use with caution
|
template<typename T> using ordered_multiset = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>; // Use with caution
|
||||||
constexpr ll MX = 1e5+5, ll INF = 1e9, LINF = 1e18, ll MOD = 1e9+7;
|
|
||||||
constexpr ld PI = 4*atan((ld)1);
|
constexpr ld PI = 4*atan((ld)1);
|
||||||
void io(const str & s) {
|
constexpr ll MX = 1e5+5, ll INF = 1e9, LINF = 1e18, ll MOD = 1e9+7;
|
||||||
if (fopen((s+".in").c_str(), "r")) freopen((s+".in").c_str(), "r", stdin), freopen((s+".out").c_str(), "w", stdout);
|
|
||||||
ios_base::sync_with_stdio(0), cin.tie(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
io("name");
|
ifstream cin("in"); ofstream cout("in");
|
||||||
|
ios_base::sync_with_stdio(0), cin.tie(0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue