Wednesday, April 8, 2020

Fast IO

Author            : Dipu Kumar Mohanto 
                    CSE, Batch - 6
                    BRUR.
Problem Statement : 
Source            : 
Category          : 
Algorithm         : 
Verdict           : OK

  1. #include "bits/stdc++.h"  
  2.   
  3. using namespace std;  
  4.   
  5.   
  6. namespace fastinput  
  7. {  
  8.       /** Interface */  
  9.   
  10.       inline int readChar();  
  11.       template <class T = intinline T readInt();  
  12.       template <class T> inline void writeInt(T x, char end = 0);  
  13.       inline void writeChar(int x);  
  14.       inline void writeWord(const char *s);  
  15.   
  16.       /** Read */  
  17.   
  18.       static const int buf_size = 16384;  
  19.   
  20.       inline int getChar()  
  21.       {  
  22.             static char buf[buf_size];  
  23.             static int len = 0, pos = 0;  
  24.             if (pos == len)  
  25.                   pos = 0, len = fread(buf, 1, buf_size, stdin);  
  26.             if (pos == len)  
  27.                   return -1;  
  28.             return buf[pos++];  
  29.       }  
  30.       inline int readChar()  
  31.       {  
  32.             int c = getChar();  
  33.             while (c <= 32)  
  34.                   c = getChar();  
  35.             return c;  
  36.       }  
  37.       template <class T>  
  38.       inline T readInt()  
  39.       {  
  40.             int s = 1, c = readChar();  
  41.             T x = 0;  
  42.             if (c == '-')  
  43.                   s = -1, c = getChar();  
  44.             while ('0' <= c && c <= '9')  
  45.                   x = x * 10 + c - '0', c = getChar();  
  46.             return s == 1 ? x : -x;  
  47.       }  
  48.   
  49.       /** Write */  
  50.   
  51.       static int write_pos = 0;  
  52.       static char write_buf[buf_size];  
  53.   
  54.       inline void writeChar(int x)  
  55.       {  
  56.             if (write_pos == buf_size)  
  57.                   fwrite(write_buf, 1, buf_size, stdout), write_pos = 0;  
  58.             write_buf[write_pos++] = x;  
  59.       }  
  60.       template <class T>  
  61.       inline void writeInt(T x, char end)  
  62.       {  
  63.             if (x < 0)  
  64.                   writeChar('-'), x = -x;  
  65.             char s[24];  
  66.             int n = 0;  
  67.             while (x || !n)  
  68.                   s[n++] = '0' + x % 10, x /= 10;  
  69.             while (n--)  
  70.                   writeChar(s[n]);  
  71.             if (end)  
  72.                   writeChar(end);  
  73.       }  
  74.       inline void writeWord(const char *s)  
  75.       {  
  76.             while (*s)  
  77.                   writeChar(*s++);  
  78.       }  
  79.       struct Flusher  
  80.       {  
  81.             ~Flusher()  
  82.             {  
  83.                   if (write_pos)  
  84.                         fwrite(write_buf, 1, write_pos, stdout), write_pos = 0;  
  85.             }  
  86.       } flusher;  
  87. }  
  88. /** Use ios_base::sync_with_stdio(false); cin.tie(nullptr); */
  89.   
  90. using namespace fastinput;
  91.   
  92.   
  93. signed main()  
  94. {  
  95.       ios_base::sync_with_stdio(false);  
  96.       cin.tie(nullptr);  
  97.   
  98.       #ifndef ONLINE_JUDGE  
  99.             freopen("in.txt""r", stdin);  
  100.       #endif // ONLINE_JUDGE  
  101.   
  102. }  

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.