Don't even have to hit the mark.
#include <cstdio>#include<cstring>#include<algorithm>using namespacestd;Const intn=200003;Const Doublemo=3.14;Doublesum[n<<2];voidPushup (intRT) {sum[rt]=sum[rt<<1]+sum[rt<<1|1];}voidBuildintLintRintRT) { if(L==R) {scanf ("%LF", &sum[rt]); Sum[rt]=sum[rt]*mo;return;} intMid= (l+r) >>1; Build (L,mid,rt<<1); Build (Mid+1,r,rt<<1|1); Pushup (RT);}DoubleQuestintLintRintLintRintRT) { if(L<=L&&R<=R)returnSum[rt]; intMid= (l+r) >>1;Doubleans=0; if(L<=mid) Ans+=quest (l,r,l,mid,rt<<1); if(R>mid) Ans+=quest (l,r,mid+1,r,rt<<1|1); returnans;}voidCutintXintLintRintRT) { if(L==R) {sum[rt]=0.0;return;} intMid= (l+r) >>1; if(X<=mid) Cut (x,l,mid,rt<<1); if(X>mid) Cut (x,mid+1,r,rt<<1|1); Pushup (RT);}intMain () {intN,i,m,x,y; scanf ("%d\n",&N); Build (1N1); scanf ("%d\n",&m); for(i=1; i<=m;++i) {scanf ("%d%d\n",&x,&y); printf ("%.2lf\n", Quest (x, Y,1N1)); Cut ((x+y) >>1,1N1); } return 0;}
And then it's ready.
Codevs 1360 xth Cut tree line tree No more water problem