类似a[i]=max{a[i],b[i]}的式子,可以写成
inline int maintain(int & a,int b){return a>b? a:a=b;}
偷懒代码,Linux下没法用
#define rep(a,b,c) for(register int a=b;a<=c;++a)
最大值用0x3f3f3f3f,加法不会爆int
#define INF 0x3f3f3f3f
很快的快读
inline bool isitdigit(char c){return c<='9'&&c>='0';} inline int read() { register int s,f=1;register char c; while( ! isitdigit(c=getchar())) (c=='-')&&(f=-1); for(s=c-'0';isitdigit(c=getchar());s=(s<<1)+(s<<3)+c-'0'); return f*s; }