g++拡張

g++のキモい拡張のひとつにa >? b というのがあります
a > b ? a : b の省略形ですね。
代入もついでにやるa >?= bもあります。
gccでこれが出来ないのはかなーり(´・ω・`)ショボーンです。
fmax,fminを大量に使用する場合はg++のほうが短くなるかもしれませんね。


とりあえず例としてid:Ozy:20070125#p2でみかけたPKU1852をこれを使って解きましょう。

#import<algo.h>
int n,a,b,l,v;main(){
	for(cin>>n;cin>>l>>n;a=b=-printf("%d %d\n",b,a))
		for(;n--;a>?=v>?l-v,b>?=v<?l-v)
			scanf("%d",&v);
}

2重ループの中でcin使ったらTLE食らった (´・ω・`)
頑張ったらTLE食らわずに済むかも知れんけど、めどいからscanfでお茶を濁した。
正直、何一つ短縮テクニック使ってないので簡単にもっと短く出来るはず。


たとえば、改行コードをLFにするとそれだけで1byte短くなるよ。とか
暇な人はレッツチャレンジ。