Submission #13303

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
133032015-02-11 14:35:52baneling100Monkey and Apple-trees (IZhO12_apple)C++98
100 / 100
437 ms134136 KiB
#include <stdio.h>
#define INF 1073741824
struct node {
node() : left(NULL), right(NULL), cnt(NULL), lazy(NULL) {}
node *left, *right;
int cnt, lazy;
} *Root;
int M, D, X, Y, C;
void countApple(int left, int right, node *now) {
int mid=(left+right)/2;
if(X<=left && right<=Y)
C+=now->cnt;
else {
if(!now->left ) now->left =new node();
if(!now->right) now->right=new node();
if(now->lazy) {
now->left ->cnt =mid-left+1;
now->left ->lazy=1;
now->right->cnt =right-mid;
now->right->lazy=1;
}
if(X<=mid) countApple(left ,mid ,now->left );
if(mid+1<=Y) countApple(mid+1,right,now->right);
if(!now->lazy) {
if(now->left->lazy && now->right->lazy) {
now->cnt =right-left+1;
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...