-
-
Save kodekracker/e09f9d23573f117a5db0 to your computer and use it in GitHub Desktop.
/* | |
* Note: This template uses some c++11 functions , so you have to compile it with c++11 flag. | |
* Example:- $ g++ -std=c++11 c++Template.cpp | |
* | |
* Author : Akshay Pratap Singh | |
* Handle: code_crack_01 | |
* | |
*/ | |
/******** All Required Header Files ********/ | |
#include <iostream> | |
#include <string> | |
#include <vector> | |
#include <algorithm> | |
#include <sstream> | |
#include <queue> | |
#include <deque> | |
#include <bitset> | |
#include <iterator> | |
#include <list> | |
#include <stack> | |
#include <map> | |
#include <set> | |
#include <functional> | |
#include <numeric> | |
#include <utility> | |
#include <limits> | |
#include <time.h> | |
#include <math.h> | |
#include <stdio.h> | |
#include <string.h> | |
#include <stdlib.h> | |
#include <assert.h> | |
using namespace std; | |
/******* All Required define Pre-Processors and typedef Constants *******/ | |
#define SCD(t) scanf("%d",&t) | |
#define SCLD(t) scanf("%ld",&t) | |
#define SCLLD(t) scanf("%lld",&t) | |
#define SCC(t) scanf("%c",&t) | |
#define SCS(t) scanf("%s",t) | |
#define SCF(t) scanf("%f",&t) | |
#define SCLF(t) scanf("%lf",&t) | |
#define MEM(a, b) memset(a, (b), sizeof(a)) | |
#define FOR(i, j, k, in) for (int i=j ; i<k ; i+=in) | |
#define RFOR(i, j, k, in) for (int i=j ; i>=k ; i-=in) | |
#define REP(i, j) FOR(i, 0, j, 1) | |
#define RREP(i, j) RFOR(i, j, 0, 1) | |
#define all(cont) cont.begin(), cont.end() | |
#define rall(cont) cont.end(), cont.begin() | |
#define FOREACH(it, l) for (auto it = l.begin(); it != l.end(); it++) | |
#define IN(A, B, C) assert( B <= A && A <= C) | |
#define MP make_pair | |
#define PB push_back | |
#define INF (int)1e9 | |
#define EPS 1e-9 | |
#define PI 3.1415926535897932384626433832795 | |
#define MOD 1000000007 | |
#define read(type) readInt<type>() | |
const double pi=acos(-1.0); | |
typedef pair<int, int> PII; | |
typedef vector<int> VI; | |
typedef vector<string> VS; | |
typedef vector<PII> VII; | |
typedef vector<VI> VVI; | |
typedef map<int,int> MPII; | |
typedef set<int> SETI; | |
typedef multiset<int> MSETI; | |
typedef long int int32; | |
typedef unsigned long int uint32; | |
typedef long long int int64; | |
typedef unsigned long long int uint64; | |
/****** Template of some basic operations *****/ | |
template<typename T, typename U> inline void amin(T &x, U y) { if(y < x) x = y; } | |
template<typename T, typename U> inline void amax(T &x, U y) { if(x < y) x = y; } | |
/**********************************************/ | |
/****** Template of Fast I/O Methods *********/ | |
template <typename T> inline void write(T x) | |
{ | |
int i = 20; | |
char buf[21]; | |
// buf[10] = 0; | |
buf[20] = '\n'; | |
do | |
{ | |
buf[--i] = x % 10 + '0'; | |
x/= 10; | |
}while(x); | |
do | |
{ | |
putchar(buf[i]); | |
} while (buf[i++] != '\n'); | |
} | |
template <typename T> inline T readInt() | |
{ | |
T n=0,s=1; | |
char p=getchar(); | |
if(p=='-') | |
s=-1; | |
while((p<'0'||p>'9')&&p!=EOF&&p!='-') | |
p=getchar(); | |
if(p=='-') | |
s=-1,p=getchar(); | |
while(p>='0'&&p<='9') { | |
n = (n<< 3) + (n<< 1) + (p - '0'); | |
p=getchar(); | |
} | |
return n*s; | |
} | |
/************************************/ | |
/******* Debugging Class Template *******/ | |
#define DEBUG | |
#ifdef DEBUG | |
#define debug(args...) (Debugger()) , args | |
class Debugger | |
{ | |
public: | |
Debugger(const std::string& _separator = " - ") : | |
first(true), separator(_separator){} | |
template<typename ObjectType> Debugger& operator , (const ObjectType& v) | |
{ | |
if(!first) | |
std:cerr << separator; | |
std::cerr << v; | |
first = false; | |
return *this; | |
} | |
~Debugger() { std:cerr << endl;} | |
private: | |
bool first; | |
std::string separator; | |
}; | |
#else | |
#define debug(args...) // Just strip off all debug tokens | |
#endif | |
/**************************************/ | |
/******** User-defined Function *******/ | |
/**************************************/ | |
/********** Main() function **********/ | |
int main() | |
{ | |
#ifndef ONLINE_JUDGE | |
freopen("input.txt","r",stdin); | |
//freopen("output.txt","w",stdout); | |
#endif | |
int tc; | |
tc = read(int); | |
while(tc--){ | |
write(tc); | |
} | |
return 0; | |
} | |
/******** Main() Ends Here *************/ |
Just make a variable and declare it to INT_MAX and then you are good to go.
Example-
int max1=INT_MAX;
#define INF (int)1e9
is used instead of INT_MAX
so that operations like INF + INF
are possible and don't become negative (out of range).
rather than including tons of header files
use # include <bits/stdc++.h>
it has all necessary basic header files for CP
bits/stdc++.h is not standard.
yup bits/stdc++ header is not found on all platforms
bits/stdc++.h also takes more time to compile
bits/stdc++.h works on almost every online judge afaik, even those like tourist use bits/stdc++.h (just check out submissions from top rankings of CodeForces), although some like rng_58 still decides to have a bunch of includes
@Hikarii0703 , it doesn't work on OS X
/******* Debugging Class Template *******/
#define DEBUG
#ifdef DEBUG
#define debug(args...) (Debugger()) , args
class Debugger
{
public:
Debugger(const std::string& _separator = " - ") :
first(true), separator(_separator){}
template<typename ObjectType> Debugger& operator , (const ObjectType& v)
{
if(!first)
std:cerr << separator;
std::cerr << v;
first = false;
return *this;
}
~Debugger() { std:cerr << endl;}
private:
bool first;
std::string separator;
};
#else
#define debug(args...) // Just strip off all debug tokens
#endif
i really didn't understand this part!
the write function can only write, positive numbers and not negative :-(
Other wise the template is pretty good.
I am getting this error. Can any1 help?
I am using VS Code.
error: 'vector' does not name a type; did you mean 'wctob'?
typedef vector VI;
^~~~~~
wctob
Also ,Let me explain a bit more, I am using these typedefs:
typedef long long ll;
typedef long double ld;
typedef pair<int, int> PII;
typedef vector VI;
typedef vector VS;
typedef vector VII;
typedef vector VVI;
it's throwing above type of error for every other typedef except the first two ones i.e typedef long long ll;, typedef long double ld;
it's throwing above type of error for every other typedef except the first two ones i.e typedef long long ll;, typedef long double ld;
You need to define contents of vector like vector<int>
, vector<string>
, etc as compiler doesn't know what type of vector you are talking about.
You can use header #include <bits/stdc++.h>
it contains all the standard libraries of C++.
handsome
How to load the template each time you run or create any new file in vscode ?
You can write a code snippet and use it every time you create a file for CP
Can you tell me how to use it ?