急,问我的程序(看题解的)为什么样例会re(然而a了)

P1110 [ZJOI2007] 报表统计

@[HOOCCOOH](/space/show?uid=9567) 看你的程序的
by kczno1 @ 2016-11-25 09:44:43


加了读入优化以后过了样例,但只有90分 ```cpp #define ch_top 20000000 char ch[ch_top],*now_r=ch; #define beyond {while (*now_r<48) ++now_r;} void read(int &x) { beyond for (x=*now_r-48;*++now_r>=48;) x=(x<<1)+(x<<3)+*now_r-48; } while (m--) { beyond; if (*now_r=='I') { now_r+=6; read(i);read(x); ins(x); h.erase(dy[i]); dy[i]=h.push(abs(a[i+1]-x)); h.push(abs(b[i]-x)); b[i]=x; } else if (*(now_r+=4)=='G') {printf("%d\n",h.top());now_r+=3;} else {printf("%d\n",ans);now_r+=8;} } ```
by kczno1 @ 2016-11-25 16:37:46


先不说别的,您的string s还是空的,就scanf到里面...
by HOOCCOOH @ 2016-11-26 17:31:31


好吧似乎是我家的cpp有毒。到了机房就过了样例。 我这样应该是可以的 @[HOOCCOOH](/space/show?uid=9567)
by kczno1 @ 2016-11-28 13:58:29


加了读优应该无大碍,第一份代码是找死,scanf越界写,此时不完以后也药丸
by HOOCCOOH @ 2016-11-28 18:08:26


@ HOOCCOOH 好吧,你是对的,我确实在另一题完了一次。不过改成scanf(char数组)是可以的。
by kczno1 @ 2016-12-15 14:26:07


@HOOCCOOH
by kczno1 @ 2016-12-15 14:26:47


string好难用,用字符数组会不会好些
by svc330 @ 2016-12-18 11:01:07


|