Geek Culture
Published in

Geek Culture

Simple C++ Competitive Programming Template

I have been searching for a standard redundant piece of code that I have to write in each of my C++ programs. While searching I found many, some of them were really good but they had many unnecessary template classes and too many functions which I thought were not of use much.

So after going through them all I created a template for myself. And I am sharing this hoping it would be beneficial to others :

#include <bits/stdc++.h>using namespace std;#define read(type) readInt<type>() // Fast read#define ll long long#define nL "\n"#define pb push_back#define mk make_pair#define pii pair<int, int>#define a first#define b second#define vi vector<int>#define all(x) (x).begin(), (x).end()#define umap unordered_map#define uset unordered_set#define MOD 1000000007#define imax INT_MAX#define imin INT_MIN#define exp 1e9#define sz(x) (int((x).size()))int32_t main(){    ios_base::sync_with_stdio(false);    cin.tie(NULL);    int ttt; cin >> ttt;    while(ttt--) {    }    return 0;}

The code will run for the given sample test cases

I have used ‘ int32_t main() ’ instead of ‘ int main() ’ as if you have written the program for using “ int ” variables but later on you realize you have to increase the range with ‘long long’.

So intead of,
#define ll long long
use :
#define int long long

This would save you the time to change each and every int variables, but there is no ‘ long long ’ main function so it is better to just change it to

int32_t main()
instead of : int main()

I have used ‘ios_base::sync_with_stdio(false);’ this snippet to increase the execution speed of cin and cout. I have explained the same in this blog

All the rest #define are just abbreviations of the most used functions in any program.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store