# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
55603 | dennisstar | 조개 줍기 (KOI17_shell) | C++11 | 995 ms | 186520 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
int N;
long long sum;
struct data
{
long long seg[1510]; int lazy[4096];
data() { int i; for(i=0; i<1510; i++) seg[i]=0; for(i=0;i<4006;i++) lazy[i]=0;}
void scan() {
int i;
for (i=1; i<=N; i++) scanf("%lld",&seg[i]);
}
long long val(int a) {
long long ret=seg[a];
a+=2047;
while(a) ret+=(long long)lazy[a], a/=2;
return ret;
}
void gadd(int a, int b, int val) {
if (a>b) return ;
if (a%2) lazy[a]+=val, a++;
if (b%2==0) lazy[b]+=val, b--;
gadd(a/2,b/2,val);
}
void add(int a, int b, int val) {
a+=2047, b+=2047;
gadd(a,b,val);
}
};
data SegTree[1510];
int main()
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |