Submission #61593825
Source Code Expand
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include <bits/stdc++.h>
using namespace std;
const int N=5e5+1;
int n,a[N],t[N<<2],tag[N<<2];
inline int ls(int p)
{
return p<<1;
}
inline int rs(int p)
{
return p<<1|1;
}
inline void addtag(int p,int pl,int pr,int x)
{
t[p]+=(pr-pl+1)*x;
tag[p]+=x;
}
inline void push_up(int p)
{
t[p]=t[ls(p)]+t[rs(p)];
}
inline void push_down(int p,int pl,int pr)
{
int m=(pl+pr)>>1;
addtag(ls(p),pl,m,tag[p]);
addtag(rs(p),m+1,pr,tag[p]);
tag[p]=0;
}
void bulid(int p,int pl,int pr)
{
if(pl==pr)
{
t[p]=a[pl];
return;
}
int m=(pl+pr)>>1;
bulid(ls(p),pl,m);
bulid(rs(p),m+1,pr);
push_up(p);
}
void update(int l,int r,int p,int pl,int pr,int x)
{
if(l<=pl&&pr<=r)
{
addtag(p,pl,pr,x);
return;
}
int m=(pl+pr)>>1;
push_down(p,pl,pr);
if(l<=m) update(l,r,ls(p),pl,m,x);
if(m<r) update(l,r,rs(p),m+1,pr,x);
push_up(p);
}
int query(int l,int r,int p,int pl,int pr)
{
if(l<=pl&&pr<=r) return t[p];
int m=(pl+pr)>>1,ans=0;
push_down(p,pl,pr);
if(l<=m) ans+=query(l,r,ls(p),pl,m);
if(m<r) ans+=query(l,r,rs(p),m+1,pr);
return ans;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
bulid(1,1,n);
for(int i=1;i<=n;i++)
{
int x=query(i,i,1,1,n);
update(i+1,min(n,i+x),1,1,n,1);
cout<<i+x-min(n,i+x)<<' ';
}
return 0;
}
Submission Info
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
400 / 400 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample00.txt, sample01.txt, sample02.txt |
All |
sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt |
Case Name |
Status |
Exec Time |
Memory |
sample00.txt |
AC |
1 ms |
3516 KB |
sample01.txt |
AC |
1 ms |
3452 KB |
sample02.txt |
AC |
1 ms |
3472 KB |
testcase00.txt |
AC |
1 ms |
3516 KB |
testcase01.txt |
AC |
149 ms |
13748 KB |
testcase02.txt |
AC |
174 ms |
14072 KB |
testcase03.txt |
AC |
169 ms |
13300 KB |
testcase04.txt |
AC |
212 ms |
13728 KB |
testcase05.txt |
AC |
47 ms |
8068 KB |
testcase06.txt |
AC |
213 ms |
13624 KB |
testcase07.txt |
AC |
161 ms |
13272 KB |
testcase08.txt |
AC |
212 ms |
13556 KB |
testcase09.txt |
AC |
170 ms |
13344 KB |
testcase10.txt |
AC |
212 ms |
13588 KB |
testcase11.txt |
AC |
74 ms |
8336 KB |
testcase12.txt |
AC |
212 ms |
13536 KB |
testcase13.txt |
AC |
125 ms |
12916 KB |
testcase14.txt |
AC |
212 ms |
13560 KB |
testcase15.txt |
AC |
19 ms |
4856 KB |
testcase16.txt |
AC |
214 ms |
13624 KB |
testcase17.txt |
AC |
171 ms |
13240 KB |
testcase18.txt |
AC |
144 ms |
13560 KB |
testcase19.txt |
AC |
137 ms |
13452 KB |