[ create a new paste ] login | about

Link: http://codepad.org/DqoXlVfm    [ raw code | output | fork ]

C, pasted on Sep 9:
struct g{
    int mi,ma;
};

vector <g> tree;
vector <int> a;

g merger(g &l,g &r){
    g ans;
    ans.mi=min(l.mi,r.mi);
    ans.ma=max(l.ma,r.ma);
    return ans;
}

void build(int node,int s,int e){
    if(s==e){
        tree[node]={a[s],a[e]};
        return;
    }
    int m=(s+e)/2;
    build(node*2,s,m);
    build(node*2+1,m+1,e);
    tree[node]=merger(tree[node*2],tree[node*2+1]);
}

g query(int node,int s,int e,int l,int r){
    if(s>e||s>r||e<l)
        return {INT_MAX,INT_MIN};
    if(l<=s&&e<=r)
        return tree[node];
    int m=(s+e)/2;
    g p1,p2;
    p1=query(node*2,s,m,l,r);
    p2=query(node*2+1,m+1,e,l,r);
    return merger(p1,p2);
}

int Solution::solve(vector<int> &v, int B) {
    int n=v.size();
    vector < pair <int,int> > vp;
    for(int i=0;i<n;i++)
        vp.push_back({v[i],i});
    sort(begin(vp),end(vp));
    a.clear();
    tree.clear();
    tree.resize(4*n);
    vector <int> b;
    for(auto x:vp){
        a.push_back(x.second);
        b.push_back(x.first);
    }
    build(1,0,n-1);
    int ans=1;
    for(int i=0;i<n;i++){
        int l,r;
        l=upper_bound(begin(b),end(b),v[i]-B)-begin(b);
        r=upper_bound(begin(b),end(b),v[i])-begin(b);
        g q=query(1,0,n-1,l,r-1);
        if(q.mi!=INT_MAX)
            ans=max(ans,1+max(abs(i-q.ma),abs(i-q.mi)));
    }
    return ans;
}


Output:
1
2
3
4
5
6
7
8
9
10
11
Line 6: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
Line 7: error: expected '=', ',', ';', 'asm' or '__attribute__' before '<' token
Line 9: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'merger'
In function 'build':
Line 18: error: 'tree' undeclared (first use in this function)
Line 18: error: (Each undeclared identifier is reported only once
Line 18: error: for each function it appears in.)
Line 18: error: expected expression before '{' token
t.c: At top level:
Line 27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'query'
Line 39: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token


Create a new paste based on this one


Comments: