QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#113127 | #5686. 种苹果 | myee | AC ✓ | 5395ms | 84860kb | C++11 | 11.3kb | 2023-06-16 14:50:29 | 2023-06-16 14:50:32 |
Judging History
answer
// 那就是希望。
// 即便需要取模,也是光明。
// 不弱于教主的魔法,可以规约矩阵乘法,考虑根号。
// 根号重构 + 树剖分块。
// 维护添加点的联通块。
// 每次重构把当前树重新剖分,进行信息的更新。
// 然后两类加点操作可以“新开联通块”或者“联通块内重构结构”。(广义串并联图的方式?)
// 加权操作可以对整颗树上加,各个联通块内的点依次判断是否在修改链上,暴力修改即可。
// 查询操作可以树上使用树剖分块查询,额外点也查询。
// 总复杂度 O(n\sqrt{n\log n}) (n\sim q)
#include <algorithm>
#include <stdio.h>
#include <vector>
typedef long long llt;
typedef unsigned uint;typedef unsigned long long ullt;
typedef bool bol;typedef char chr;typedef void voi;
typedef double dbl;
template<typename T>bol _max(T&a,T b){return(a<b)?a=b,true:false;}
template<typename T>bol _min(T&a,T b){return(b<a)?a=b,true:false;}
template<typename T>T lowbit(T n){return n&-n;}
template<typename T>T gcd(T a,T b){return b?gcd(b,a%b):a;}
template<typename T>T lcm(T a,T b){return(a!=0||b!=0)?a/gcd(a,b)*b:(T)0;}
template<typename T>T exgcd(T a,T b,T&x,T&y){if(b!=0){T ans=exgcd(b,a%b,y,x);y-=a/b*x;return ans;}else return y=0,x=1,a;}
template<typename T>T power(T base,T index,T mod)
{
T ans=1%mod;
while(index)
{
if(index&1)ans=ans*base%mod;
base=base*base%mod,index>>=1;
}
return ans;
}
const uint Block=640,Lim=400000;
uint Siz[Lim+5],Heavy[Lim+5],Fath[Lim+5],Rot[Lim+5],Dep[Lim+5],Dfn[Lim+5],End[Lim+5],Back[Lim+5],n,tp;
llt Val[Lim+5],Tag[Lim/Block+5];bol Gone[Lim+5];
std::pair<llt,uint>W[Lim/Block+5][Block+5];uint WCnt[Lim/Block+5];
std::vector<uint>Way[Lim+5],Del[Lim+5];
voi dfs1(uint p,uint f){
Fath[p]=f,Heavy[p]=-1,Siz[p]=1;
for(auto s:Way[p])if(s!=f){
Dep[s]=Dep[p]+1,dfs1(s,p),Siz[p]+=Siz[s];
if(!~Heavy[p]||Siz[s]>Siz[Heavy[p]])Heavy[p]=s;
}
}
voi dfs2(uint p,uint r){
Back[Dfn[p]=tp++]=p,Rot[p]=r;if(~Heavy[p])dfs2(Heavy[p],r);
for(auto s:Way[p])if(s!=Fath[p]&&s!=Heavy[p])dfs2(s,s);
End[p]=tp;
}
voi rebuild(){
if(n&&tp-n<2400)return;
for(uint i=0;i<=n/Block;i++)for(uint j=0;j<WCnt[i];j++)Val[Back[W[i][j].second]]=W[i][j].first+Tag[i];
for(uint i=0;i<n;i++)if(Del[i].size()){
std::sort(Del[i].begin(),Del[i].end());
for(uint j=0,t=0;j<Way[i].size();j++)
if(t==Del[i].size()||Del[i][t]!=Way[i][j])Way[i][j-t]=Way[i][j];else t++;
Way[i].resize(Way[i].size()-Del[i].size()),Del[i].clear();
}
for(uint i=n;i<tp;i++){std::sort(Way[i].begin(),Way[i].end());for(auto s:Way[i])if(s<n)Way[s].push_back(i);}
n=tp,tp=0,dfs1(0,-1),dfs2(0,0);
for(uint i=0;i<=n/Block;i++){
WCnt[i]=0,Tag[i]=0;
for(uint j=i*Block;j<(i+1)*Block&&j<n;j++)W[i][WCnt[i]++]={Val[Back[j]],j};
std::sort(W[i],W[i]+WCnt[i]);
}
}
voi add_dfn(uint l,uint r,llt w){
if(l>=r)return;
std::vector<std::pair<llt,uint> >A,B;
if(l/Block==r/Block){
for(uint i=0;i<WCnt[l/Block];i++)if(W[l/Block][i].second>=l&&W[l/Block][i].second<r)
A.push_back({W[l/Block][i].first+w,W[l/Block][i].second});else B.push_back(W[l/Block][i]);
std::merge(A.begin(),A.end(),B.begin(),B.end(),W[l/Block]);
return;
}
for(uint i=0;i<WCnt[l/Block];i++)if(W[l/Block][i].second>=l)
A.push_back({W[l/Block][i].first+w,W[l/Block][i].second});else B.push_back(W[l/Block][i]);
std::merge(A.begin(),A.end(),B.begin(),B.end(),W[l/Block]);
A.clear(),B.clear();
for(uint i=0;i<WCnt[r/Block];i++)if(W[r/Block][i].second<r)
A.push_back({W[r/Block][i].first+w,W[r/Block][i].second});else B.push_back(W[r/Block][i]);
std::merge(A.begin(),A.end(),B.begin(),B.end(),W[r/Block]);
for(uint i=l/Block+1;i<r/Block;i++)Tag[i]+=w;
}
uint query_dfn(uint l,uint r,llt w){
if(l>=r)return 0;
uint ans=0;
if(l/Block==r/Block){
for(uint i=WCnt[l/Block]-1;~i&&W[l/Block][i].first+Tag[l/Block]>=w;i--)
if(W[l/Block][i].second>=l&&W[l/Block][i].second<r)ans++;
return ans;
}
for(uint i=WCnt[l/Block]-1;~i&&W[l/Block][i].first+Tag[l/Block]>=w;i--)
if(W[l/Block][i].second>=l)ans++;
for(uint i=WCnt[r/Block]-1;~i&&W[r/Block][i].first+Tag[r/Block]>=w;i--)
if(W[r/Block][i].second<r)ans++;
for(uint i=l/Block+1;i<r/Block;i++)if(WCnt[i]){
if(W[i][0].first+Tag[i]>=w)ans+=WCnt[i];
else if(W[i][WCnt[i]-1].first+Tag[i]>=w){
uint l=0,r=WCnt[i],mid;
while(l<r)if(W[i][mid=(l+r)>>1].first+Tag[i]>=w)r=mid;else l=mid+1;
ans+=WCnt[i]-l;
}
}
return ans;
}
uint lca(uint u,uint v){
while(Rot[u]!=Rot[v]){
if(Dep[Rot[u]]<Dep[Rot[v]])std::swap(u,v);
u=Fath[Rot[u]];
}
return Dep[u]<Dep[v]?u:v;
}
bol OnWay(uint u,uint v,uint p){
while(Rot[u]!=Rot[v]){
if(Dep[Rot[u]]<Dep[Rot[v]])std::swap(u,v);
if(Dfn[p]>Dfn[u]&&Dfn[p]>Dfn[v])return 0;
if(Dfn[p]>=Dfn[Rot[u]]&&Dfn[p]<=Dfn[u])return 1;
u=Fath[Rot[u]];
}
if(Dep[u]>Dep[v])std::swap(u,v);
return Dfn[p]>=Dfn[u]&&Dfn[p]<=Dfn[v];
}
bol OnWay(uint u,uint v,uint r,uint p){
return p==r||(Dfn[u]>=Dfn[p]&&Dfn[u]<End[p])!=(Dfn[v]>=Dfn[p]&&Dfn[v]<End[p]);
}
voi add_line(uint u,uint v,llt w){
while(Rot[u]!=Rot[v]){
if(Dep[Rot[u]]<Dep[Rot[v]])std::swap(u,v);
add_dfn(Dfn[Rot[u]],Dfn[u]+1,w),u=Fath[Rot[u]];
}
if(Dep[u]>Dep[v])std::swap(u,v);
add_dfn(Dfn[u],Dfn[v]+1,w);
}
uint query_line(uint u,uint v,llt w){
uint ans=0;
while(Rot[u]!=Rot[v]){
if(Dep[Rot[u]]<Dep[Rot[v]])std::swap(u,v);
ans+=query_dfn(Dfn[Rot[u]],Dfn[u]+1,w),u=Fath[Rot[u]];
}
if(Dep[u]>Dep[v])std::swap(u,v);
ans+=query_dfn(Dfn[u],Dfn[v]+1,w);
return ans;
}
std::vector<uint>V,PSet;
bol dfs(uint p,uint f,uint t){
V.push_back(p);
if(p==t)return 1;
for(auto s:Way[p])if(s>=n&&s!=f&&dfs(s,p,t))return 1;
V.pop_back();
return 0;
}
voi add(uint u,uint v,llt w){
V.clear();
for(uint i=n;i<tp;i++)Gone[i]=0;
if(u>=n&&v<n)std::swap(u,v);
if(v>=n){
if(u<n){
std::vector<std::pair<uint,uint> >P;
PSet={v};Gone[v]=1;
while(PSet.size()){
uint p=PSet.back();PSet.pop_back();
for(auto s:Way[p])if(s<n)P.push_back({p,s});else if(!Gone[s])Gone[s]=1,PSet.push_back(s);
}
bol op=P.size()==1?0:OnWay(u,P[0].second,P[1].second);
dfs(P[op].first,-1u,v),v=P[op].second;
}
else{
std::vector<std::pair<uint,uint> >P1,P2;
PSet={u};Gone[u]=1;
while(PSet.size()){
uint p=PSet.back();PSet.pop_back();
for(auto s:Way[p])if(s<n)P1.push_back({p,s});else if(!Gone[s])Gone[s]=1,PSet.push_back(s);
}
if(Gone[v]){
dfs(u,-1,v);for(auto s:V)Val[s]+=w;
return;
}
PSet={v};Gone[v]=1;
while(PSet.size()){
uint p=PSet.back();PSet.pop_back();
for(auto s:Way[p])if(s<n)P2.push_back({p,s});else if(!Gone[s])Gone[s]=1,PSet.push_back(s);
}
bol op1=P1.size()==1?0:OnWay(P1[0].second,P2[0].second,P1[1].second);
bol op2=P2.size()==1?0:OnWay(P1[0].second,P2[0].second,P2[1].second);
dfs(P1[op1].first,-1u,u),dfs(P2[op2].first,-1u,v),u=P1[op1].second,v=P2[op2].second;
}
}
add_line(u,v,w);
uint r=lca(u,v);
for(uint i=n;i<tp;i++)if(!Gone[i]){
std::vector<std::pair<uint,uint> >P;
PSet={i},Gone[i]=1;
while(PSet.size()){
uint p=PSet.back();PSet.pop_back();
for(auto s:Way[p])if(s<n)P.push_back({p,s});else if(!Gone[s])Gone[s]=1,PSet.push_back(s);
}
if(P.size()==2&&OnWay(u,v,r,P[0].second)&&OnWay(u,v,r,P[1].second))dfs(P[0].first,-1u,P[1].first);
}
for(auto s:V)Val[s]+=w;
}
uint query(uint u,uint v,llt w){
V.clear();
uint ans=0;for(uint i=n;i<tp;i++)Gone[i]=0;
if(u>=n&&v<n)std::swap(u,v);
if(v>=n){
if(u<n){
std::vector<std::pair<uint,uint> >P;
PSet={v};Gone[v]=1;
while(PSet.size()){
uint p=PSet.back();PSet.pop_back();
for(auto s:Way[p])if(s<n)P.push_back({p,s});else if(!Gone[s])Gone[s]=1,PSet.push_back(s);
}
bol op=P.size()==1?0:OnWay(u,P[0].second,P[1].second);
dfs(P[op].first,-1u,v);
v=P[op].second;
}
else{
std::vector<std::pair<uint,uint> >P1,P2;
PSet={u};Gone[u]=1;
while(PSet.size()){
uint p=PSet.back();PSet.pop_back();
for(auto s:Way[p])if(s<n)P1.push_back({p,s});else if(!Gone[s])Gone[s]=1,PSet.push_back(s);
}
if(Gone[v]){
dfs(u,-1,v);for(auto s:V)ans+=Val[s]>=w;
return ans;
}
PSet={v};Gone[v]=1;
while(PSet.size()){
uint p=PSet.back();PSet.pop_back();
for(auto s:Way[p])if(s<n)P2.push_back({p,s});else if(!Gone[s])Gone[s]=1,PSet.push_back(s);
}
bol op1=P1.size()==1?0:OnWay(P1[0].second,P2[0].second,P1[1].second);
bol op2=P2.size()==1?0:OnWay(P1[0].second,P2[0].second,P2[1].second);
dfs(P1[op1].first,-1u,u),dfs(P2[op2].first,-1u,v),u=P1[op1].second,v=P2[op2].second;
}
}
ans+=query_line(u,v,w);
uint r=lca(u,v);
for(uint i=n;i<tp;i++)if(!Gone[i]){
std::vector<std::pair<uint,uint> >P;
PSet={i};Gone[i]=1;
while(PSet.size()){
uint p=PSet.back();PSet.pop_back();
for(auto s:Way[p])if(s<n)P.push_back({p,s});else if(!Gone[s])Gone[s]=1,PSet.push_back(s);
}
if(P.size()==2&&OnWay(u,v,r,P[0].second)&&OnWay(u,v,r,P[1].second))dfs(P[0].first,-1u,P[1].first);
}
for(auto s:V)ans+=Val[s]>=w;
return ans;
}
int main()
{
#ifdef MYEE
freopen("QAQ.in","r",stdin);
freopen("QAQ.out","w",stdout);
#endif
uint q,ans=0;scanf("%u%u",&tp,&q);
for(uint i=0;i<tp;i++)scanf("%lld",Val+i);
for(uint i=1,u,v;i<tp;i++)scanf("%u%u",&u,&v),Way[--u].push_back(--v),Way[v].push_back(u);
while(q--){
rebuild();
uint op,u,v;int w;
scanf("%u%u",&op,&u),u=(u^ans)-1;
if(op==1){
scanf("%u%d",&v,&w),v=(v^ans)-1,w^=ans,Val[tp]=w;
if(u>=n&&v<n)std::swap(u,v);
if(u<n&&v<n)Del[u].push_back(v),Del[v].push_back(u);
else if(u<n){for(auto&s:Way[v])if(s==u)s=tp;}
else{
for(auto&s:Way[v])if(s==u)s=tp;
for(auto&s:Way[u])if(s==v)s=tp;
}
Way[tp++]={u,v};
}else if(op==2){
scanf("%d",&w),w^=ans,Val[tp]=w;
if(u>=n)Way[u].push_back(tp);
Way[tp++].push_back(u);
}
else if(op==3)scanf("%u%d",&v,&w),v=(v^ans)-1,w^=ans,add(u,v,w);
else scanf("%u%d",&v,&w),v=(v^ans)-1,w^=ans,printf("%u\n",ans=query(u,v,w));
}
return 0;
}
// 那就是希望。
// 即便需要取模,也是光明。
详细
Test #1:
score: 100
Accepted
time: 76ms
memory: 35764kb
input:
5000 5000 -1201801 4507224 -765313 5795451 -126649 -5052948 470601 -5571705 7680665 -2662502 -689392 -3195719 3416253 -1023134 -3112032 3810606 -6975732 712075 257599 -180764 5190759 177433 -6055975 1555412 7768627 3402404 -872471 -1311920 -4231370 117735 3172664 -1502849 -3929398 -90435 6955032 382...
output:
645 0 0 0 57 0 1665 1087 1455 73 1172 1094 0 1739 1202 1290 0 0 0 569 0 1532 0 358 337 437 0 567 1086 12 73 922 1024 183 25 0 0 0 979 4 3 7 162 305 1285 0 1185 0 1263 402 576 1284 0 0 832 908 0 422 1425 1268 12 0 1692 439 0 0 28 0 384 0 0 1079 1257 1149 541 642 133 966 406 0 0 848 1335 431 0 0 363 8...
result:
ok 1020 lines
Test #2:
score: 0
Accepted
time: 88ms
memory: 37152kb
input:
5000 5000 -994733 862196 -2643618 4810652 2000445 -712322 -3955371 2924820 -675771 -6848147 825176 -5612153 4757907 1475460 1043402 1647007 -1015110 2001651 -6330733 2969460 -815149 6241724 136943 2360333 -3204656 5569099 809569 -4081554 -178998 -1363975 -4486956 -1858705 -59824 845830 4381332 17942...
output:
1469 2442 2 0 35 1869 0 353 993 1572 1095 0 12 1458 0 1659 545 0 0 1243 0 0 1410 911 1701 1660 0 0 84 728 0 5 0 1031 2089 1108 524 225 1237 2233 3 43 1324 327 1085 1049 615 61 1840 1892 0 491 989 242 1058 965 625 0 2592 340 36 0 211 0 146 2168 46 0 227 0 0 0 8 2103 1334 0 23 128 0 0 1307 0 0 0 2280 ...
result:
ok 962 lines
Test #3:
score: 0
Accepted
time: 83ms
memory: 36656kb
input:
5000 5000 1655881 -6171013 -6563069 6407036 -349214 1212406 2942912 -6594577 2008815 -1128329 -2115530 3807690 2938269 3705147 -5102093 -5658055 -2326373 4349357 -299635 825659 877457 3662152 358404 -892346 4685730 5257128 -6518733 -852709 4390588 -3492594 4680660 -386634 1743811 4770445 1735641 -39...
output:
1263 2159 0 107 4 2257 15 1329 172 0 929 0 1465 260 2106 496 685 80 347 1492 0 2638 409 0 177 0 0 0 5 0 2324 0 179 0 0 0 2122 1322 102 412 300 3 1272 0 6 0 1823 0 13 1739 1459 13 1207 278 0 1261 0 684 0 284 639 69 1700 88 243 1529 1970 0 98 2178 0 978 0 1229 1637 1620 660 835 0 0 214 953 203 674 159...
result:
ok 1055 lines
Test #4:
score: 0
Accepted
time: 82ms
memory: 35788kb
input:
5000 5000 1916330 -1277666 -2692038 -1686680 445447 522240 -9102533 4958411 5497747 -6470449 -1304451 -327692 -3951014 -5481922 -71181 -324109 -2416764 -6133434 -2713206 -6507719 -4562989 3531489 2232499 -1303696 3799685 1596321 4508356 -698966 6244189 -3451377 1146222 -1190263 -1224078 -1867687 256...
output:
0 0 0 1099 0 463 0 1182 25 0 784 0 663 1483 2171 0 1057 0 0 1377 0 0 0 218 0 0 70 906 1524 141 89 992 0 1667 0 308 0 77 6 0 148 0 1364 121 513 162 0 1440 1 1588 290 0 380 0 1517 8 1125 0 1362 592 74 0 83 443 857 0 0 0 10 307 1182 6 2352 15 953 31 966 2 536 2104 872 347 0 1846 185 146 1096 0 368 295 ...
result:
ok 1023 lines
Test #5:
score: 0
Accepted
time: 797ms
memory: 53300kb
input:
200000 200000 3962736 -7195878 -1853269 5312599 2123365 7028251 2312158 123258 -4443494 -5269322 877331 -616200 927434 -1927540 2943960 -7002528 -5869789 2362131 -2612652 -7859698 2076672 3520022 5147597 17824 -54033 5931665 -8193552 4202786 2726128 1137312 5233018 -580693 2414120 4925088 1642992 35...
output:
47152 78705 47731 29708 99910 0 62117 0 44783 61200 5955 2 46232 0 16545 1271 36509 0 90957 1856 0 84922 27751 45838 0 91943 2373 28623 1118 32482 0 3 63630 57801 81142 0 0 0 9458 0 34391 12206 9510 0 0 1284 92189 98017 23372 7 4783 38278 54827 0 0 0 65641 0 13882 16443 908 0 59951 44221 36623 0 897...
result:
ok 200000 lines
Test #6:
score: 0
Accepted
time: 799ms
memory: 53072kb
input:
200000 200000 -268518 -732548 -901441 -4347722 -192409 4152660 -6078366 -412851 3364009 7704344 323003 -4336546 -1823880 -1675134 -4301206 1362880 -2495946 -7053206 -2570038 2259491 2394744 3832046 -4643805 2294419 -4484291 -7340794 382437 -1938061 4410387 2978726 52156 1753151 -7547313 -5689937 446...
output:
93379 79180 42500 0 34745 0 32820 0 79663 48221 0 3335 12767 0 0 45995 19496 58837 49719 0 642 887 72 0 0 22859 0 0 36154 19833 36991 990 75878 16314 0 21002 50417 81747 39036 34391 65298 0 0 32698 25301 0 39844 14215 8613 23554 79650 4124 25410 8590 60811 0 20040 0 0 52949 308 0 0 61800 22062 45239...
result:
ok 200000 lines
Test #7:
score: 0
Accepted
time: 806ms
memory: 52580kb
input:
200000 200000 4471605 -2889587 2475793 4794555 5897977 866381 2062774 3733737 -2810691 -3123275 -1593937 543221 -3462221 6330012 -4003863 6366641 2045393 1616425 -6199720 8342761 -855613 -5496332 2625258 -1455774 -6907661 -3748453 -831288 1686462 -5278073 3138676 5730165 2039292 694348 -1314529 -173...
output:
0 421 0 0 9681 7022 7214 0 0 27527 0 31966 0 3457 68018 29401 0 0 55150 3666 3275 1874 30536 0 12447 41 35035 12705 0 5 13675 12373 0 0 52061 77962 1654 0 0 41006 6436 0 3624 3567 35984 66500 70 32054 0 21039 12570 0 0 0 19152 70428 12137 42842 0 0 0 2763 0 38788 43503 52273 6312 12519 86158 39300 0...
result:
ok 200000 lines
Test #8:
score: 0
Accepted
time: 818ms
memory: 52704kb
input:
200000 200000 -890750 -1886888 4557806 -644020 494194 -2695808 2550714 4029509 1120191 -1432068 4947569 -861074 -5012051 3130809 5048423 2911722 3555406 -4902160 6599828 -5543160 4984807 -184407 -3457542 -7797283 -1069734 1904721 5103428 1063345 3476923 -1785030 4855156 -57227 -5334995 -2809093 2892...
output:
2 0 0 3040 0 28031 83220 20474 0 0 0 50236 95642 0 0 8070 0 117 0 893 2792 0 34697 79143 62228 47204 21758 0 30780 86096 5630 0 0 5183 0 30315 2222 21205 0 15214 24683 0 42490 11122 16553 0 19432 33366 0 28181 76378 13080 95166 4137 56659 2718 0 23634 16356 0 22985 42488 0 7949 0 44522 5532 0 6735 1...
result:
ok 200000 lines
Test #9:
score: 0
Accepted
time: 3600ms
memory: 64256kb
input:
200000 200000 -3731977 -2214890 -2655693 -4636219 1477879 -6652495 -6122932 -2086233 195642 -707975 -1089540 3930278 524808 653005 7012999 -4338192 -7000512 -4443331 338552 2677375 -9308411 -1663420 3989374 5517790 405209 -2349520 4825993 8728231 4180825 -762268 -5023792 -1018659 -4224802 4763633 -6...
output:
5229 34782 25115 2661 50096 0 39612 26827 0 28126 2078 0 0 34407 9531 0 0 20761 0 0 47962 9851 369 0 120138 0 2 93381 0 2660 26702 47790 0 0 26704 26895 81137 0 3679 0 45393 0 14777 41981 0 7090 71613 6156 20774 3562 0 282 655 7528 15837 3 29871 0 40192 28220 0 12640 0 0 0 0 50855 47380 1280 1829 39...
result:
ok 79940 lines
Test #10:
score: 0
Accepted
time: 3623ms
memory: 63724kb
input:
200000 200000 -40585 5100748 -7038081 1817391 1576827 5519684 1368666 4000857 -5019756 -494980 -2910690 -2921575 -1450894 4525332 2493608 587091 99422 3623730 949863 6943763 -4357327 -487234 193966 -3268630 233249 -9015969 -3500159 754246 -4918832 5886202 -713657 -1322141 112522 2407975 -2746873 -34...
output:
1353 0 0 209 0 0 16009 0 68984 117993 0 0 32215 68957 7843 0 0 337 73410 79683 14844 39 0 0 0 0 76874 0 25714 26698 0 38289 28839 86 49285 66274 60145 82238 0 39904 4 92114 9631 0 0 62293 8303 17952 82285 43896 22450 91265 0 0 0 55326 0 105788 15463 0 0 18382 23669 10732 0 100590 72128 105022 90996 ...
result:
ok 79866 lines
Test #11:
score: 0
Accepted
time: 3574ms
memory: 65192kb
input:
200000 200000 -6113558 -5036394 7148216 6044286 1697972 -6261572 3196523 3345060 -286718 4103655 2590674 1667153 -4959092 -3950169 -2182382 -8223477 1542982 -8047223 -7405525 4648848 5070967 1656133 1203472 3343385 -7198801 -146934 3973197 -4115776 -685357 -3235680 458167 2397624 952393 -204466 6931...
output:
0 24700 0 0 20008 1966 62996 8367 60130 0 0 2 95563 0 0 52338 0 74984 0 44896 34982 38 52382 28147 0 1266 73006 0 3202 76011 73062 0 0 28518 0 6213 58369 1657 58891 0 0 57142 45478 24232 0 10783 0 37289 1214 0 61560 4422 23841 0 0 36444 59027 0 25949 14169 31928 6282 9668 64811 0 23074 84294 0 0 684...
result:
ok 79725 lines
Test #12:
score: 0
Accepted
time: 3588ms
memory: 64360kb
input:
200000 200000 -667019 3018428 617797 -513689 -4282503 2994016 199404 -548441 -9274627 -2760620 -3651286 8292075 -2556026 486189 1385575 -1696494 -331935 1997950 -521500 -953572 -223275 1658925 2092325 -6299249 -4340122 -3655956 2451585 1658576 1975826 7018293 -2439494 6477429 1250658 -3615349 266699...
output:
5 30050 0 0 64 43951 880 0 22989 86029 21880 17179 0 79761 6470 34232 5328 0 25318 9186 0 8396 19620 26638 17256 30875 0 3240 5253 86287 0 10585 9352 9200 4 17394 0 0 4 65427 19215 1177 36090 0 80250 0 0 79412 124148 0 43081 35212 48062 23736 18349 0 100011 1470 77104 46860 1989 0 4408 0 6559 0 9074...
result:
ok 79617 lines
Test #13:
score: 0
Accepted
time: 3603ms
memory: 59860kb
input:
200000 200000 1985164 309525 -2073939 5502869 -6074995 -7109331 -2645057 2635849 -647019 4959815 -7583310 1399462 -291124 -252462 -1985823 2255567 -6571018 -5537170 -125160 -1703040 -6965276 -3922287 -2504039 4762424 -906237 -2828723 565209 1381511 1060297 2834184 -5487607 9228972 -3224921 -2327543 ...
output:
99921 0 0 8019 88 1809 0 31208 15465 0 0 0 1401 0 0 30569 30174 33756 0 0 2750 0 0 3688 69265 88946 46964 0 61957 30471 0 4 11266 0 0 0 0 0 9422 0 0 66396 0 14741 23582 40014 31318 0 0 1083 0 0 61515 49064 16358 523 0 38748 38290 180 67271 52391 54610 88425 0 26072 2993 0 3 0 84480 0 221 81985 49641...
result:
ok 59876 lines
Test #14:
score: 0
Accepted
time: 3636ms
memory: 62892kb
input:
200000 200000 4875614 -2562679 -595766 1292442 -2111198 -356919 -5161742 1053473 2969712 -273633 -2531394 -1476904 4196610 -668689 5223226 2363388 -4749074 1453637 5172566 3098573 -6607553 3035344 9239499 3245836 8515152 5939773 -8006669 -1571201 2987555 2285896 -328166 8447115 8300141 4968943 -3553...
output:
0 0 34972 0 0 0 0 43716 0 5094 80848 0 0 11803 0 153 8247 349 22863 34888 4 46178 0 22091 19029 28735 63305 463 60599 44410 0 42798 0 21737 0 12846 5408 17461 41948 0 0 19273 0 94563 88252 0 75457 6882 1086 0 29281 0 14787 0 0 8704 1723 4723 41889 2473 71164 36950 0 0 58201 9 0 0 2111 7905 0 0 0 165...
result:
ok 59807 lines
Test #15:
score: 0
Accepted
time: 3660ms
memory: 61968kb
input:
200000 200000 8567007 -5226429 -2953979 247299 -1678504 -2081438 5564386 64495 5819388 -1707511 -2301065 4403497 -490222 6996074 -1035827 -3096248 -974733 -5496322 -1026076 164464 270319 6319804 3943329 1332077 5608709 -341708 2195141 3854122 4589360 -2638935 1302497 -6407416 -4772682 2652488 232211...
output:
0 6630 84215 0 0 12454 36522 0 20400 0 7425 0 12086 87353 25152 0 0 0 12970 12706 0 29863 25443 30543 33100 31334 9066 0 29065 0 8403 22000 58738 0 0 59561 0 0 7618 33455 15278 28182 81915 0 0 0 68627 0 0 38959 57160 49732 1554 37656 17318 0 39 26764 61115 22691 2148 72630 10895 4228 57426 40447 0 3...
result:
ok 59769 lines
Test #16:
score: 0
Accepted
time: 3495ms
memory: 83904kb
input:
200000 200000 -2424506 -2412587 375978 3903889 8078697 -6184291 3477404 2131469 -871 -4730294 531835 300684 -3322834 -121479 -4409421 -4332635 970753 8953808 3686560 1844489 -5025765 -508325 -1918502 -8746620 1027975 2735651 -5729629 2631941 4613862 826030 -1023189 -5287521 -2848446 1034127 2203986 ...
output:
26150 22136 0 30634 49445 2535 0 14848 0 0 166478 206018 7674 176 0 0 89413 0 73833 7206 34575 179574 52642 27887 0 134120 57825 16750 74616 121417 0 127063 55 7131 103582 0 0 26663 55389 128697 112435 21161 0 0 0 0 45280 0 0 54712 7600 112206 0 212602 16032 19005 105271 78179 0 0 16955 53039 0 2343...
result:
ok 40220 lines
Test #17:
score: 0
Accepted
time: 3548ms
memory: 84860kb
input:
200000 200000 4157337 2051459 -2226442 -2859846 -1363238 3318798 -6086454 -2961180 5480585 -253878 -2198660 4422336 -1138307 6264707 -2662099 875139 -1532831 1526998 -1544412 1211341 1422737 859329 -995081 -759657 3803914 -200321 3640303 -858696 -9068385 -5597302 -1548498 -3046862 1840864 -7479957 2...
output:
13536 34482 0 0 55019 0 28302 84777 11433 186337 46112 17244 0 0 830 92517 0 122200 81940 137451 136677 148790 39062 0 44000 16973 49526 23770 78841 4408 0 0 11613 28718 0 0 30008 117773 174013 190054 0 38136 15010 68640 51254 2774 39397 74526 1874 0 136654 49924 0 46905 63671 16702 0 37421 4 0 4371...
result:
ok 39885 lines
Test #18:
score: 0
Accepted
time: 3525ms
memory: 84372kb
input:
200000 200000 -1944203 -4277932 1215473 -2549998 2964206 -1521691 -2377568 1677403 7157590 -156464 -6322029 1830838 3582053 7214339 -3080059 4031082 4258944 -858202 -737466 -203208 5352226 -6561338 1463355 6305121 4459725 46467 -4922472 3938727 -836994 -5595204 1293604 -722127 1049183 -386905 629972...
output:
128001 40881 0 94530 145226 193 0 0 26998 105006 115264 0 0 0 139243 142702 30991 0 0 56465 140392 81420 36795 0 71596 23044 32242 1030 0 0 26501 26555 28500 1488 230011 110993 308 0 173487 0 101032 1694 56453 67813 570 75772 101224 67002 23966 0 0 0 0 0 0 91992 0 0 0 0 100811 1275 0 50159 14120 315...
result:
ok 39992 lines
Test #19:
score: 0
Accepted
time: 4130ms
memory: 84812kb
input:
200000 200000 2020187 5752964 3729782 -3773575 -1227773 -4166269 -3406569 1132930 -2643694 -6039887 4782561 -1547560 -6441999 -4282759 262021 8264684 -2551868 6809020 -2692592 -2559467 8651479 527358 -5490633 2233287 1676764 3633016 895545 -1173517 -5880163 -2616915 -8857064 9434031 -4751149 998615 ...
output:
0 83556 56770 43620 5745 19259 0 0 0 22474 21122 148418 0 51167 51202 32151 0 5077 186593 17447 2193 6450 268 0 4102 20010 79701 70126 212837 0 0 28199 105781 0 93371 0 29459 0 0 42775 0 150313 0 35811 1590 44789 181583 56 0 0 110541 0 170694 223961 93470 23496 7603 152268 21799 83254 67 0 0 66107 1...
result:
ok 39809 lines
Test #20:
score: 0
Accepted
time: 4120ms
memory: 84564kb
input:
200000 200000 -5803732 -1015248 5033042 -4027966 -6335081 777716 5484060 6956103 5376739 -756548 -2111304 -297680 -3180617 -5018521 -803454 -1352740 372489 -2385092 -5557764 -1193567 -689952 -5080322 5863291 -1041878 -2543762 -2185503 1042196 1605817 5967643 5303210 -5871199 4217287 1513349 -1178448...
output:
44526 2979 0 144133 95614 101402 0 105709 362 21073 84972 0 128753 7979 0 2269 140679 9943 40477 133023 199178 316 10787 50107 64969 58248 677 0 0 20645 0 97788 0 14839 0 61195 81509 156373 14932 3054 4860 72727 0 63729 1786 11218 18503 3469 63859 61639 174282 100706 7627 0 10872 0 3241 0 91613 1052...
result:
ok 40037 lines
Test #21:
score: 0
Accepted
time: 4113ms
memory: 84380kb
input:
200000 200000 -262667 -1639231 -4099912 303606 -6035762 -242834 3420080 7049036 3392046 4240671 -1824766 4760436 3308771 1649215 -2530067 -2338543 1046789 2544361 -846843 -162281 623849 3870102 1624163 -5315221 5342309 -2981470 -5836301 6333766 -7968029 -3462116 689395 -133932 -5645666 -2945538 -451...
output:
32122 147410 0 114475 114 32502 0 26136 0 0 1809 0 108280 0 32277 48900 65834 21923 0 68189 1085 24004 3335 19242 0 9676 121214 4101 61849 3353 149163 43384 53395 5 129244 0 0 0 46732 4546 0 2890 104530 0 13737 0 0 0 68848 84053 98596 149937 133478 2562 13762 78310 4534 148161 36447 0 84955 0 16164 ...
result:
ok 39899 lines
Test #22:
score: 0
Accepted
time: 5184ms
memory: 65544kb
input:
200000 200000 1355855 -8231041 3957486 5457365 4940777 1471127 2629869 -2568612 3891882 2593904 -3670773 1274445 5817023 -7266326 -649453 563335 -2504295 4259024 986470 -3906577 4133241 3251208 2578032 5849055 5955528 3009124 437248 -9471234 -1846927 1332558 3010219 7997851 -1949622 2258304 260683 -...
output:
44097 0 0 789 3647 24533 0 9625 1606 766 0 0 98621 10032 80790 0 39117 25510 51453 20041 112174 4529 16319 4339 0 0 28496 0 16863 249 0 0 251 0 0 0 0 4682 0 19595 7420 0 0 0 42475 0 19366 46319 12766 0 100680 37403 596 5 709 10418 2339 73279 68326 32135 0 27174 60205 0 0 3 0 0 45100 0 0 0 0 0 2 0 59...
result:
ok 40293 lines
Test #23:
score: 0
Accepted
time: 5185ms
memory: 65948kb
input:
200000 200000 -3936789 1087317 4548999 2242319 -1097843 -1998470 5324823 2063090 7739127 -468853 3999140 -1848429 -5206505 771794 2617946 -4486900 -4921270 5068514 -3533264 392208 1721349 6222243 -2662603 -5211753 3630308 -2522169 -60193 -920829 -1755632 3581831 6738862 -2519285 7703599 3163543 -429...
output:
68625 100735 0 55961 49028 0 2823 1767 56161 107488 20100 73081 100339 55 2079 0 0 79693 41200 0 0 15565 112488 22022 17802 53450 64169 0 43326 23246 44659 833 0 50392 0 0 0 0 4 9510 0 59222 2318 0 0 12648 6716 1219 35473 59680 5288 12273 89162 76277 84906 0 0 46578 77953 13596 355 0 3956 13915 9121...
result:
ok 39923 lines
Test #24:
score: 0
Accepted
time: 5368ms
memory: 63972kb
input:
200000 200000 7198514 8215112 -3254257 4578258 2607656 321286 -4272606 8843976 1428728 -737777 -2511695 2177596 -1328518 -9342597 5155151 -1298997 838473 196525 8020204 2196007 -1272405 3492960 -4230361 -1735748 1735249 -2696303 -4726074 1106889 9293062 1786471 1187183 -4095131 -6007334 1273157 2548...
output:
13501 5477 13102 57954 0 41448 0 0 76228 65401 1358 316 3731 90082 31091 8824 0 0 0 15683 12434 81177 32346 54910 2797 0 27530 0 357 0 7327 0 8554 1171 2951 0 7032 4 63248 40013 0 38864 28565 0 0 34135 46418 1516 12927 970 28009 0 0 29 77622 2899 23137 0 39422 19668 3924 29129 612 17529 49097 235 0 ...
result:
ok 40242 lines
Test #25:
score: 0
Accepted
time: 5187ms
memory: 67480kb
input:
200000 200000 2071792 1447027 -6012685 68640 6735591 3074281 5740946 183332 2632779 281995 324077 -1720988 -5780906 5626056 2270209 -6615491 -6366387 -4728141 -107605 1231185 279160 -268171 7552889 -4609082 4989546 -1908032 -4329931 -8022989 2545110 -2156885 -2842032 5059931 -3043842 -9809688 -62637...
output:
0 23910 49755 113479 0 21054 0 0 7131 0 2863 68536 112300 11294 0 0 36887 3911 27942 0 25908 80694 17254 83739 110258 65826 12572 22959 233 6399 16826 27186 373 0 0 2326 100197 0 95457 0 53000 372 5 36927 36982 0 0 37215 85491 35806 109 0 0 14256 0 19404 0 62940 57010 0 59623 6265 0 0 0 26643 4532 1...
result:
ok 40241 lines
Test #26:
score: 0
Accepted
time: 3ms
memory: 36552kb
input:
5 6 1 3 3 2 2 1 2 1 3 2 4 2 5 4 3 4 2 3 2 6 2 4 0 7 1 1 5 6 1 2 2 7 4 0 3 0
output:
3 4 2
result:
ok 3 lines
Test #27:
score: 0
Accepted
time: 86ms
memory: 36412kb
input:
5000 5000 -2935715 884931 6623154 -3760160 -6639540 2047907 6858058 637875 2506650 1846954 5717570 6824922 3391920 29386 -99734 -5963622 3719405 -1058473 4435872 -1284857 213114 4458576 6294626 -1533781 -854484 -3985355 107359 510443 534290 3440546 -3069835 -1104121 -2922479 -3359544 3589173 -329433...
output:
2262 0 85 1427 971 2 14 372 2016 833 820 2380 0 253 778 0 576 576 2011 0 48 0 7 1241 143 930 41 0 0 1345 1606 0 0 1050 109 163 1910 2389 492 1006 869 423 0 0 0 2555 1 135 0 0 2492 0 915 687 1766 360 0 0 0 2479 0 863 9 1479 0 0 915 67 2588 876 1912 0 31 213 394 0 226 2047 454 285 2615 2615 1151 0 1 2...
result:
ok 1004 lines
Test #28:
score: 0
Accepted
time: 3532ms
memory: 84764kb
input:
200000 200000 4559006 -3085416 4899001 1617575 2702334 -6731969 -6028066 4282498 -181213 8300754 -85498 8247175 -2398665 -4497165 7982062 3992010 3826438 -7284029 -4388766 6536852 -3591752 -291379 5767445 -556405 1613544 -2967891 -5491681 -367487 16405 1682314 -2930289 -3570593 1437278 783343 189419...
output:
0 0 0 226366 0 20419 52261 1047 89907 0 179344 99603 37318 7072 5655 125664 41478 152963 205 91710 202613 85451 46346 168882 23409 0 1562 0 126105 24921 56013 28289 0 0 40571 64515 36567 10746 191614 49123 14427 30471 0 187610 0 0 0 0 0 86595 0 0 160467 1566 237687 0 0 22915 0 431 0 81661 0 4838 0 8...
result:
ok 40059 lines
Test #29:
score: 0
Accepted
time: 5395ms
memory: 63100kb
input:
200000 200000 -5520162 2603667 -1124036 483096 9318257 266293 2564786 -695499 1679948 8463164 -862725 4596058 1485123 3144238 -4248320 2198661 536350 -3814045 2297839 -178136 -612466 -6001852 -3337045 6298206 -4540219 -7038282 780943 -220737 2794480 60691 1917217 3584156 -1730994 -2762915 -7032483 -...
output:
25909 53797 0 64253 48160 0 53851 0 824 0 2401 11401 54407 0 0 0 8392 97221 82604 13 59028 0 73415 0 0 0 4322 2947 0 0 0 0 4696 6636 38263 39263 45901 43089 5320 8 199 23715 62377 67493 38403 0 5841 3485 11775 2675 25262 40549 20 8084 274 56593 0 49309 5 2149 61312 85640 0 0 30332 17933 1906 29145 0...
result:
ok 39779 lines