hiho week 22 register

Ended

Participants:196

Verdict:Wrong Answer
Score:0 / 100
Submitted:2014-11-30 23:20:55

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <iostream>
#include <cstdio>
using namespace std;
const int MAXN = 100005;
int N, M;
int segTree[MAXN*3];
int lazySet[MAXN*3];
int lazyAdd[MAXN*3];
void build(int node, int begin, int end){
    lazySet[node] = -1;
    lazyAdd[node] = -1;
    if(begin == end) scanf("%d", &segTree[node]);
    else{
        int m = (begin+end)/2;
        build(2*node, begin, m);
        build(2*node+1, m+1, end);
        segTree[node] = segTree[2*node] + segTree[2*node+1];
    }
}
void pushDownAdd(int node, int begin, int end){
    int m = (begin+end)/2;
    if(lazySet[node]!=-1){
        lazySet[2*node] = lazySet[node];
        lazySet[2*node+1] = lazySet[node];
        segTree[2*node] = (m-begin+1)*lazySet[node];
        segTree[2*node+1] = (end-m)*lazySet[node];
        lazySet[node] = -1;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX