This repository contains solutions to various Codeforces problems.
solutions/: This directory contains all the solution files. Each solution is stored in a separate file named after the problem ID.
Use the following template for your solutions:
#include <bits/stdc++.h> // This will work only for g++ compiler.
#define for0(i, n) for (int i = 0; i < (int)(n); ++i) // 0 based indexing #define for1(i, n) for (int i = 1; i <= (int)(n); ++i) // 1 based indexing #define forc(i, l, r) for (int i = (int)(l); i <= (int)(r); ++i) // closed interver from l to r r inclusive #define forr0(i, n) for (int i = (int)(n) - 1; i >= 0; --i) // reverse 0 based. #define forr1(i, n) for (int i = (int)(n); i >= 1; --i) // reverse 1 based
//short hand for usual tokens #define pb push_back #define fi first #define se second
// to be used with algorithms that processes a container Eg: find(all(c),42) #define all(x) (x).begin(), (x).end() //Forward traversal #define rall(x) (x).rbegin, (x).rend() //reverse traversal
// traversal function to avoid long template definition. Now with C++11 auto alleviates the pain. #define tr(c,i) for(typeof((c)).begin() i = (c).begin(); i != (c).end(); i++)
// find if a given value is present in a container. Container version. Runs in log(n) for set and map #define present(c,x) ((c).find(x) != (c).end())
//find version works for all containers. This is present in std namespace. #define cpresent(c,x) (find(all(c),x) != (c).end())
// Avoiding wrap around of size()-1 where size is a unsigned int. #define sz(a) int((a).size())
using namespace std;
// Shorthand for commonly used types typedef vector vi; typedef vector vvi; typedef pair<int, int> ii; typedef vector vii; typedef long long ll; typedef vector vll; typedef vector vvll; typedef double ld;
int main() { ios::sync_with_stdio(false); cin.tie(0); cout.precision(10); cout << fixed; return 0; }