/*
输入输出外挂
输入时直接
n=Scan();即可
输出时
Out(n);即可
*/
int Scan()//输入外挂
{
int res=0,ch,flag=0;
if((ch=getchar())=='-')
flag=1;
else if(ch>='0'&&ch<='9')
res=ch-'0';
while((ch=getchar())>='0'&&ch<='9')
res=res*10+ch-'0';
return flag?-res:res;
}
void Out(LL a)//输出外挂
{
if(a>9)
Out(a/10);
putchar(a%10+'0');
}
/*
以下全部为另一外挂
输入外挂
这个外挂只能输入,但是比上面的外挂快
输出的话还是使用printf
另外,此外挂只能输出到文件中
即:
若要看输出结果前面需要添加对文件的操作
提交时,把对文件操作注释掉即可
*/
namespace IO
{
const int MX = 4e7; //1e7占用内存11000kb
char buf[MX];
int c, sz;
void begin()
{
c = 0;
sz = fread(buf, 1, MX, stdin);
}
inline bool read(int &t)
{
while(c < sz && buf[c] != '-' && (buf[c] < '0' || buf[c] > '9'))
c++;
if(c >= sz)
return false;
bool flag = 0;
if(buf[c] == '-')
flag = 1, c++;
for(t = 0; c < sz && '0' <= buf[c] && buf[c] <= '9'; c++)
t = t * 10 + buf[c] - '0';
if(flag)
t = -t;
return true;
}
}
IO::begin();//需要在主函数最开始加上这一行
while(IO::read(n))//外挂用法事例
{
for(int i=1; i<=n; i++)
IO::read(a[i]);
}
输入输出外挂
输入时直接
n=Scan();即可
输出时
Out(n);即可
*/
int Scan()//输入外挂
{
int res=0,ch,flag=0;
if((ch=getchar())=='-')
flag=1;
else if(ch>='0'&&ch<='9')
res=ch-'0';
while((ch=getchar())>='0'&&ch<='9')
res=res*10+ch-'0';
return flag?-res:res;
}
void Out(LL a)//输出外挂
{
if(a>9)
Out(a/10);
putchar(a%10+'0');
}
/*
以下全部为另一外挂
输入外挂
这个外挂只能输入,但是比上面的外挂快
输出的话还是使用printf
另外,此外挂只能输出到文件中
即:
若要看输出结果前面需要添加对文件的操作
提交时,把对文件操作注释掉即可
*/
namespace IO
{
const int MX = 4e7; //1e7占用内存11000kb
char buf[MX];
int c, sz;
void begin()
{
c = 0;
sz = fread(buf, 1, MX, stdin);
}
inline bool read(int &t)
{
while(c < sz && buf[c] != '-' && (buf[c] < '0' || buf[c] > '9'))
c++;
if(c >= sz)
return false;
bool flag = 0;
if(buf[c] == '-')
flag = 1, c++;
for(t = 0; c < sz && '0' <= buf[c] && buf[c] <= '9'; c++)
t = t * 10 + buf[c] - '0';
if(flag)
t = -t;
return true;
}
}
IO::begin();//需要在主函数最开始加上这一行
while(IO::read(n))//外挂用法事例
{
for(int i=1; i<=n; i++)
IO::read(a[i]);
}