QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#190668 | #2830. Data Structure | qzez | AC ✓ | 102ms | 29588kb | C++14 | 4.4kb | 2023-09-29 12:17:25 | 2023-09-29 12:17:25 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
template<typename T>
ostream& operator << (ostream &out,const vector<T>&x){
if(x.empty())return out<<"[]";
out<<'['<<x[0];
for(int len=x.size(),i=1;i<len;i++)out<<','<<x[i];
return out<<']';
}
template<typename T>
ostream& operator << (ostream &out,const pair<T,T>&x){
return out<<x.first;
}
template<typename T>
vector<T> ary(const T *a,int l,int r){
return vector<T>{a+l,a+1+r};
}
template<typename T>
void debug(T x){
cerr<<x<<'\n';
}
template<typename T,typename ...S>
void debug(T x,S ...y){
cerr<<x<<' ',debug(y...);
}
const int N=2e5+10;
int n,m,in[N],out[N];
vector<int>ept,ok,only[N];
vector<pair<int,int> >to[N];
void addedge(int u,int v,int i){
// debug("edges",u,v);
out[u]++,in[v]++;
to[u].push_back({v,i});
to[v].push_back({u,-i});
}
#define v e.first
#define w e.second
int vis[N];
bool judge(int u,int fa=0){
vis[u]=1;
for(auto e:to[u])if(v^fa){
if(judge(v,u))return 1;
}
return out[u]==2;
}
void cover(int u){
if(vis[u])return;
vis[u]=1;
for(auto e:to[u])cover(v);
}
int k,id[N],p[N];
void find(int u,int las=0){
if(vis[u])return;
vis[u]=1,id[++k]=u,p[k]=las;
for(auto e:to[u])find(v,w);
}
vector<pair<int,int> >ans;
void opt(int x,int y){
ans.push_back({abs(x),abs(y)});
}
#define Assert(x) for(int _=x;!_;);
bool solve1(int s){
k=0,find(s);
// for(int i=1;i<=k;i++)debug(id[i],only[id[i]]);
// return 1;
// debug(only[s]);
// Assert(!only[id[1]].empty());
p[1]=only[id[1]].back(),only[id[1]].pop_back();
// Assert(!only[id[k]].empty());
p[k+1]=only[id[k]].back(),only[id[k]].pop_back();
// debug(ary(id,1,k),ary(p,1,k+1));
vector<int>t{1};
for(int i=1;i<=k;i++)if(out[id[i]]==2)t.push_back(i);
// debug("t",t);
for(int len=t.size(),i=1;i<len;i++){
int l=t[i-1],r=t[i],id=-1;
for(int i=l+1;i<r;i++)if(in[::id[i]]==2)id=i;
if(ept.empty())return 0;
int x=ept.back();
ept.pop_back();
opt(p[r],x);
if(~id){
for(int i=l;i<id;i++)opt(p[i+1],p[i]);
for(int i=r-1;i>id;i--)opt(p[i],p[i+1]);
int x=p[id],y=p[id+1];
opt(x,y),ept.push_back(x);
}else{
for(int i=r-1;i>=l;i--)opt(p[i],p[i+1]);
ept.push_back(p[l]);
}
p[r]=abs(x);
// debug(l,r,ans);
}
int l=t.back(),r=k+1,id=-1;
for(int i=l+1;i<r;i++)if(in[::id[i]]==2)id=i;
// debug("id",id,l+1,r-1);
if(~id){
for(int i=l;i<id;i++)opt(p[i+1],p[i]);
for(int i=r-1;i>id;i--)opt(p[i],p[i+1]);
int x=p[id],y=p[id+1];
opt(x,y),ept.push_back(x);
}else{
if(p[k]>0){
for(int i=l;i<r;i++)opt(p[i+1],p[i]);
ept.push_back(p[r]);
}else{
for(int i=r;i>l;i--)opt(p[i-1],p[i]);
ept.push_back(p[l]);
}
}
return 1;
}
bool solve2(int s){
// debug("ok1");
int x=-1,y=-1;
for(auto e:to[s])if(w>0)x=v,y=w;
// Assert(find(to[s].begin(),to[s].end(),make_pair(x,y))!=to[s].end());
// Assert(find(to[x].begin(),to[x].end(),make_pair(s,-y))!=to[x].end());
to[s].erase(find(to[s].begin(),to[s].end(),make_pair(x,y)));
to[x].erase(find(to[x].begin(),to[x].end(),make_pair(s,-y)));
out[s]--,in[x]--;
// debug(s,x,to[s],to[x]);
if(ept.empty())return 0;
int z=ept.back();
ept.pop_back();
opt(y,z);
only[s].push_back(z);
only[x].push_back(y);
return solve1(s);
}
#undef v
#undef w
bool get(){
for(int i=1,x,u,v;i<=m;i++){
scanf("%d",&x);
if(!x)ept.push_back(i);
else if(x==1)scanf("%d",&u),only[u].push_back(i);
else if(scanf("%d%d",&u,&v),u!=v)addedge(v,u,i);
else ok.push_back(u);
}
// for(int i=1;i<=n;i++)debug("to",i,to[i]);
fill(vis+1,vis+1+n,0);
for(int x:ok)vis[x]=1;
vector<int>t[3];
for(int i=1;i<=n;i++){
if(!vis[i]&&to[i].size()<=1){
if(judge(i))t[1].push_back(i);
else t[0].push_back(i);
}
}
// debug(ary(t,0,2));
for(int i=1;i<=n;i++){
if(!vis[i]&&out[i]==2)t[2].push_back(i),cover(i);
}
for(int i=1;i<=n;i++){
if(!vis[i])t[2].push_back(i),cover(i);
}
// debug(ary(t,0,2));
fill(vis+1,vis+1+n,0);
// debug("ok1");
for(int i:t[0]){
if(!solve1(i))return 0;
}
for(int i:t[1]){
if(!solve1(i))return 0;
}
for(int i:t[2]){
if(!solve2(i))return 0;
}
printf("%d\n",(int)ans.size());
for(auto x:ans)printf("%d %d\n",x.first,x.second);
return 1;
}
void clr(){
ept.clear(),ans.clear(),ok.clear();
for(int i=1;i<=n;i++){
only[i].clear(),to[i].clear();
in[i]=out[i]=0;
}
}
int main(){
for(;~scanf("%d%d",&n,&m);clr())if(!get())puts("-1");
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 14480kb
input:
2 3 2 1 2 2 1 2 0 1 1 2 1 1 3 4 2 1 3 2 2 3 1 1 1 2
output:
3 2 3 1 3 2 1 0 -1
result:
ok 3 cases passed. max #moves/#balls = 1.500000000
Test #2:
score: 0
Accepted
time: 2ms
memory: 14072kb
input:
1 2 1 1 1 1 1 3 1 1 0 1 1 1 4 1 1 1 1 0 0 1 1 2 1 1 1 2 2 1 1 0 1 3 0 0 2 1 1
output:
1 1 2 1 1 3 1 1 2 0 0 0
result:
ok 6 cases passed. max #moves/#balls = 1.000000000
Test #3:
score: 0
Accepted
time: 0ms
memory: 14068kb
input:
2 4 1 1 1 2 1 2 1 1 2 5 1 1 1 2 0 1 1 1 2 2 6 0 1 1 0 1 1 1 2 1 2 2 4 1 2 1 1 1 1 1 2 2 5 1 1 0 1 2 1 2 1 1 2 6 1 2 0 1 1 0 1 1 1 2 2 4 1 1 1 2 1 2 1 1 2 5 0 1 2 1 1 1 1 1 2 2 6 1 1 0 1 2 1 2 0 1 1 2 3 2 2 1 1 1 1 2 2 4 2 2 1 1 1 0 1 2 2 5 1 1 0 1 2 2 1 2 0 2 3 1 2 2 1 2 1 1 2 4 1 1 2 2 1 1 2 0 2 5 ...
output:
2 1 4 2 3 2 1 4 2 5 2 2 4 5 6 2 2 3 1 4 2 1 5 3 4 2 3 5 1 6 2 1 4 2 3 2 3 4 2 5 2 1 6 3 4 2 1 2 3 1 2 1 2 4 1 2 4 3 1 4 2 2 1 3 2 2 2 1 3 2 2 1 3 4 1 -1 3 3 1 2 1 3 2 3 4 3 2 3 4 2 -1 3 2 3 1 2 3 1 3 1 4 2 1 4 2 1 2 3 1 3 4 1 1 4 0 0 0
result:
ok 27 cases passed. max #moves/#balls = 1.500000000
Test #4:
score: 0
Accepted
time: 2ms
memory: 14216kb
input:
3 6 1 1 1 2 1 2 1 3 1 3 1 1 3 7 1 3 0 1 2 1 2 1 1 1 1 1 3 3 8 0 1 3 1 2 0 1 1 1 1 1 2 1 3 3 6 1 3 1 3 1 2 1 1 1 1 1 2 3 7 1 1 1 3 1 1 1 2 1 2 1 3 0 3 8 1 1 1 2 0 1 3 1 2 0 1 3 1 1 3 6 1 3 1 1 1 2 1 3 1 2 1 1 3 7 1 1 1 2 0 1 1 1 3 1 3 1 2 3 8 1 2 1 1 1 3 1 2 0 1 3 0 1 1 3 6 1 2 1 2 1 3 1 1 1 1 1 3 3 ...
output:
3 1 6 2 3 4 5 3 5 6 3 4 1 7 3 5 6 3 7 2 8 3 4 5 3 6 1 2 3 1 3 4 5 2 6 3 1 8 2 5 4 7 3 2 6 3 5 1 4 3 1 4 2 7 5 6 3 2 8 1 4 3 6 3 4 5 1 2 3 6 3 2 5 4 7 3 6 3 3 4 1 2 5 8 3 1 6 2 5 3 4 3 5 6 1 3 4 7 3 6 7 2 5 4 8 3 1 2 3 6 4 5 3 1 3 5 6 2 7 3 3 7 2 4 6 8 3 1 5 4 6 2 3 3 4 7 1 5 2 3 3 1 6 5 7 4 8 3 4 6 ...
result:
ok 180 cases passed. max #moves/#balls = 1.333333333
Test #5:
score: 0
Accepted
time: 4ms
memory: 14540kb
input:
4 8 1 3 1 3 1 4 1 1 1 2 1 1 1 4 1 2 4 9 1 3 0 1 2 1 1 1 4 1 1 1 4 1 2 1 3 4 10 1 1 1 3 1 3 1 2 1 2 0 1 1 1 4 1 4 0 4 8 1 4 1 3 1 2 1 2 1 1 1 4 1 1 1 3 4 9 1 4 1 3 1 1 1 3 1 4 1 2 1 1 1 2 0 4 10 1 4 1 1 1 2 1 3 0 0 1 2 1 1 1 3 1 4 4 8 1 2 1 4 1 3 1 4 1 2 1 3 1 1 1 1 4 9 1 1 1 4 1 3 1 2 1 3 1 2 0 1 4 ...
output:
4 4 6 5 8 1 2 3 7 4 4 6 3 8 1 9 5 7 4 1 7 4 5 2 3 8 9 4 5 7 3 4 2 8 1 6 4 3 7 6 8 2 4 1 5 4 2 8 3 7 4 9 1 10 4 7 8 1 5 3 6 2 4 4 1 9 4 6 3 5 2 8 4 4 7 2 3 8 10 5 6 4 1 3 4 7 2 8 5 6 4 2 9 1 7 5 6 3 4 4 2 10 1 9 4 5 3 8 4 2 5 1 3 4 8 6 7 4 1 5 3 8 4 9 2 7 4 3 6 2 9 5 7 1 8 4 2 8 6 7 1 5 3 4 4 2 8 6 7...
result:
ok 1575 cases passed. max #moves/#balls = 1.500000000
Test #6:
score: 0
Accepted
time: 28ms
memory: 14068kb
input:
5 10 1 1 1 4 1 2 1 4 1 5 1 2 1 3 1 5 1 1 1 3 5 11 1 1 1 3 1 1 1 2 1 5 1 2 0 1 5 1 4 1 3 1 4 5 12 1 2 0 1 1 1 5 1 2 1 4 1 3 1 4 0 1 5 1 3 1 1 5 10 1 3 1 5 1 1 1 1 1 2 1 4 1 4 1 5 1 2 1 3 5 11 1 3 1 5 1 2 1 2 1 4 1 3 1 1 1 1 0 1 4 1 5 5 12 1 3 1 4 1 2 0 1 5 1 1 1 2 1 1 1 4 1 5 0 1 3 5 10 1 4 1 5 1 3 1...
output:
5 1 9 3 6 7 10 2 4 5 8 5 1 3 4 6 2 10 9 11 5 8 5 3 12 1 5 7 11 6 8 4 10 5 3 4 5 9 1 10 6 7 2 8 5 7 8 3 4 1 6 5 10 2 11 5 6 8 3 7 1 12 2 9 5 10 5 4 7 8 9 3 10 1 5 2 6 5 2 4 1 6 5 7 8 9 3 11 5 1 7 2 3 10 11 8 9 4 5 5 8 10 4 5 6 7 2 9 1 3 5 6 7 1 11 4 5 2 3 8 9 5 2 6 4 11 8 9 1 7 3 10 5 7 8 1 10 4 5 3 ...
result:
ok 17010 cases passed. max #moves/#balls = 1.400000000
Test #7:
score: 0
Accepted
time: 24ms
memory: 16104kb
input:
6 11 1 5 1 6 1 2 1 4 1 1 1 5 1 4 1 3 1 6 2 2 3 1 1 6 9 1 6 2 1 1 2 4 4 1 2 2 6 2 0 2 5 3 0 2 5 3 6 6 2 4 4 2 5 6 2 3 6 2 2 2 2 3 5 2 1 1 6 8 2 2 1 2 3 4 1 6 2 1 2 2 3 5 0 1 6 2 4 5 6 9 1 6 1 4 1 3 1 5 2 3 1 2 4 2 2 2 1 1 6 1 5 6 7 1 4 2 2 3 2 1 6 2 1 4 2 6 2 2 5 5 1 3 6 8 1 2 2 3 5 1 1 2 4 4 0 2 5 1...
output:
6 5 11 10 8 3 10 4 7 1 6 2 9 5 5 4 1 5 9 1 7 1 9 7 -1 8 3 7 8 3 5 3 2 8 5 2 1 5 4 1 5 4 7 4 9 1 8 5 1 3 5 7 1 6 7 2 6 5 2 7 5 2 3 5 4 1 3 4 5 6 3 2 6 7 1 8 7 2 8 5 1 9 2 6 3 10 5 7 8 11 6 1 6 5 1 4 5 3 5 2 4 3 2 -1 6 7 12 2 3 1 11 5 10 6 8 4 9 3 7 6 5 7 3 5 8 1 6 9 1 7 6 4 7 3 4 8 3 5 3 8 5 6 5 9 2 ...
result:
ok 14285 cases passed. max #moves/#balls = 1.500000000
Test #8:
score: 0
Accepted
time: 28ms
memory: 14344kb
input:
7 10 2 4 3 1 1 2 2 2 2 4 3 2 7 7 2 6 6 2 5 5 0 1 1 0 7 12 1 2 1 6 1 6 1 5 2 4 1 1 1 2 4 3 1 7 1 5 1 3 1 2 1 7 7 15 1 4 1 6 1 2 1 4 1 6 1 5 1 7 1 1 1 3 0 1 7 1 5 1 1 1 3 1 2 7 7 2 7 3 2 2 3 2 5 7 2 1 1 2 6 6 2 2 5 2 4 4 7 12 2 3 2 1 7 2 6 3 1 4 1 2 1 5 1 1 1 4 1 5 1 1 1 6 1 7 7 14 2 3 5 0 1 2 1 6 1 4...
output:
4 2 9 4 2 1 2 4 1 7 5 6 7 10 5 7 1 11 4 9 2 3 8 12 7 8 13 3 15 9 14 1 4 6 12 2 5 7 11 -1 7 7 10 1 5 3 1 11 3 4 8 6 9 2 12 7 10 13 3 14 1 7 6 1 5 8 4 12 9 11 7 1 6 10 1 3 1 7 3 8 10 4 8 7 4 7 5 12 7 10 8 9 2 11 6 2 3 6 1 4 7 2 10 4 6 3 4 5 11 5 3 7 4 9 7 7 4 1 6 4 2 7 5 9 10 5 8 5 10 8 7 4 5 3 8 14 1...
result:
ok 12500 cases passed. max #moves/#balls = 1.428571429
Test #9:
score: 0
Accepted
time: 26ms
memory: 16084kb
input:
8 16 1 2 0 1 5 1 8 1 1 1 5 2 4 4 1 8 1 6 1 1 1 2 0 2 7 7 1 3 1 6 1 3 8 13 1 8 1 4 1 2 1 6 2 1 3 2 1 3 1 7 1 2 1 5 1 6 1 8 2 4 5 1 7 8 9 2 1 3 2 4 5 2 7 2 2 7 8 2 4 8 2 1 6 2 5 2 2 6 3 0 8 17 1 1 1 4 1 3 1 7 1 2 1 2 1 7 1 5 1 3 1 4 1 6 1 8 1 5 1 6 1 8 1 1 0 8 15 1 6 1 4 0 1 5 1 7 1 3 1 2 1 8 1 6 1 7 ...
output:
6 5 10 1 11 14 16 3 6 9 15 4 8 9 3 8 12 9 2 12 4 10 7 13 1 11 6 1 5 1 6 5 -1 8 1 16 5 6 3 9 2 10 8 13 11 14 4 7 12 15 9 7 15 6 14 1 9 5 10 8 12 11 8 2 11 13 8 4 13 9 9 1 8 1 2 8 9 2 7 9 3 9 4 3 5 7 4 5 7 2 6 8 2 1 2 10 1 4 10 5 8 4 5 8 7 9 2 11 4 16 3 8 10 12 5 13 1 6 14 15 10 5 8 7 5 3 5 4 3 7 4 6 ...
result:
ok 11111 cases passed. max #moves/#balls = 1.500000000
Test #10:
score: 0
Accepted
time: 29ms
memory: 16168kb
input:
9 13 1 2 2 4 5 2 5 4 2 2 9 1 8 1 3 1 1 1 3 1 1 2 7 6 1 9 1 8 2 7 6 9 13 1 4 2 5 6 2 7 5 2 9 3 1 4 2 9 7 0 2 8 6 2 1 3 0 1 2 1 2 2 8 1 9 18 1 4 1 7 1 7 1 9 1 8 1 8 1 2 1 3 1 6 1 2 1 1 1 3 1 5 1 1 1 6 1 5 1 4 1 9 9 13 0 2 6 7 2 2 2 1 3 2 6 8 2 9 1 2 1 4 1 9 2 8 7 0 1 4 1 3 2 5 5 9 17 1 9 2 1 3 1 2 1 5...
output:
11 7 9 4 11 1 4 6 8 5 12 13 5 10 5 13 10 3 13 2 3 13 2 11 11 12 1 5 9 1 2 11 4 1 3 2 6 3 4 6 8 11 13 9 8 13 9 11 14 7 10 8 12 1 17 13 16 9 15 2 3 5 6 4 18 8 4 12 7 11 6 7 8 6 9 8 2 8 5 9 2 5 9 3 11 2 7 6 12 2 6 4 10 9 17 15 16 5 14 1 13 13 10 4 1 4 10 1 6 10 5 10 9 6 5 9 11 5 7 11 5 7 8 5 2 8 5 2 8 ...
result:
ok 10000 cases passed. max #moves/#balls = 1.444444444
Test #11:
score: 0
Accepted
time: 29ms
memory: 16112kb
input:
10 19 1 1 1 3 1 10 1 8 1 1 1 4 1 2 1 2 1 5 1 7 1 5 2 6 6 1 7 1 3 1 4 1 9 1 10 1 8 1 9 10 19 1 8 1 10 2 7 7 1 2 1 5 1 9 1 1 0 1 6 1 9 1 1 1 6 1 5 0 1 2 1 10 2 4 4 2 3 3 1 8 10 10 2 5 5 2 2 3 2 8 4 2 2 7 2 6 9 2 3 10 2 10 1 2 6 4 2 7 8 2 9 1 10 19 1 4 1 5 1 4 1 9 2 3 9 1 10 1 1 1 7 1 6 1 8 1 10 1 5 1 ...
output:
9 1 5 7 8 2 14 6 15 9 11 10 13 4 18 16 19 3 17 7 7 11 4 15 5 13 9 12 1 19 6 10 2 16 -1 10 7 17 13 16 5 4 19 5 1 3 2 12 9 14 8 18 10 15 6 11 11 4 19 5 6 13 5 10 12 15 16 3 17 1 9 8 14 18 8 7 18 8 7 7 8 16 12 18 6 13 10 14 1 3 17 19 5 9 10 3 13 5 3 1 5 9 16 4 6 8 12 7 14 10 17 2 15 11 18 10 8 12 10 13...
result:
ok 9090 cases passed. max #moves/#balls = 1.500000000
Test #12:
score: 0
Accepted
time: 30ms
memory: 14236kb
input:
11 15 2 11 11 2 3 3 1 2 0 2 8 5 1 2 2 6 4 2 4 5 1 1 1 1 1 9 1 10 2 8 6 2 7 7 2 9 10 11 17 2 4 8 1 11 2 6 7 1 9 1 9 1 5 1 2 1 2 1 5 1 10 1 3 1 1 1 11 2 10 8 1 1 2 3 7 2 4 6 11 21 1 10 1 6 1 3 1 9 1 8 1 1 1 5 1 10 1 5 1 4 1 8 1 9 1 11 1 6 1 11 1 7 1 1 1 4 2 2 2 1 7 1 3 11 15 1 5 1 1 1 2 2 3 3 2 10 7 0...
output:
9 9 10 3 6 15 12 11 15 8 11 5 11 7 8 13 7 5 13 13 12 15 7 8 6 9 4 5 2 13 16 2 11 16 1 11 3 2 17 3 17 1 14 11 10 14 10 6 17 3 21 10 18 7 9 2 14 16 20 5 11 4 12 1 8 13 15 11 2 9 15 3 12 11 8 12 15 8 1 10 14 1 13 1 7 14 5 7 13 5 10 16 8 5 11 16 5 7 10 14 18 3 6 12 17 4 15 2 19 9 13 11 7 10 12 7 4 12 1 ...
result:
ok 8333 cases passed. max #moves/#balls = 1.363636364
Test #13:
score: 0
Accepted
time: 30ms
memory: 16104kb
input:
12 25 1 9 1 10 1 4 1 7 1 5 1 3 1 6 1 1 1 12 1 3 1 2 1 9 1 11 1 2 0 1 10 1 7 1 12 1 11 1 4 1 6 1 5 1 1 1 8 1 8 12 19 1 2 1 12 2 8 8 2 1 3 0 2 3 4 1 5 2 11 11 2 1 5 2 9 6 1 12 1 7 1 7 2 6 9 1 2 1 4 1 10 1 10 0 12 14 2 2 4 2 8 8 2 1 3 2 9 9 2 6 12 2 6 1 0 2 10 10 2 5 5 2 3 12 0 2 4 7 2 7 2 2 11 11 12 1...
output:
12 8 23 11 14 6 10 3 20 5 22 7 21 4 17 24 25 1 12 2 16 13 19 9 18 11 1 15 6 16 4 6 9 7 4 9 12 13 17 18 2 11 10 2 14 10 2 14 9 10 11 5 11 3 10 6 3 5 6 13 5 12 13 1 12 5 1 10 14 13 7 5 8 13 3 8 1 3 1 7 12 5 4 12 6 4 14 6 12 11 24 7 14 5 19 1 10 12 21 16 25 2 6 4 20 8 22 9 17 3 13 15 18 11 2 12 4 5 10 ...
result:
ok 7692 cases passed. max #moves/#balls = 1.416666667
Test #14:
score: 0
Accepted
time: 27ms
memory: 16080kb
input:
13 15 2 8 8 2 6 6 2 1 1 2 3 3 2 11 11 2 2 5 2 5 13 1 4 1 12 2 2 13 1 12 2 10 10 1 4 2 9 9 2 7 7 13 21 2 11 11 1 9 1 2 1 9 1 13 1 1 1 13 1 5 2 12 8 2 7 7 1 5 1 6 1 6 2 4 3 1 1 0 2 10 10 1 2 2 4 3 0 2 8 12 13 24 1 8 1 7 1 6 1 3 1 5 1 9 1 2 1 13 1 2 1 12 2 10 10 1 3 1 1 1 8 1 4 1 12 1 6 1 5 1 7 1 4 2 1...
output:
6 8 13 9 11 10 9 7 9 6 7 10 6 12 6 15 3 18 8 11 12 13 2 4 5 7 19 5 14 5 19 14 9 19 21 9 19 21 11 13 23 7 9 4 12 15 20 5 18 3 17 2 19 1 14 6 24 10 16 8 22 12 8 15 10 6 9 7 10 9 13 20 3 17 4 16 1 11 2 14 19 2 5 2 19 5 12 10 16 1 27 9 18 12 26 4 20 5 23 8 14 3 6 7 17 11 19 2 25 21 22 13 3 17 11 15 2 9 ...
result:
ok 7142 cases passed. max #moves/#balls = 1.384615385
Test #15:
score: 0
Accepted
time: 30ms
memory: 16364kb
input:
14 24 1 3 1 11 1 2 1 7 1 5 0 1 11 2 4 8 2 12 5 2 9 4 1 3 1 10 2 12 9 1 1 0 2 13 13 1 2 1 7 1 6 1 10 1 14 1 1 1 6 2 8 14 14 27 1 8 1 10 1 1 1 1 1 12 1 14 1 6 1 11 1 5 1 12 1 7 1 4 1 10 1 14 1 7 1 9 1 2 1 6 1 11 1 9 2 3 3 1 2 1 4 1 13 1 8 1 5 1 13 14 22 1 14 2 7 5 1 3 1 10 1 9 1 9 2 13 5 2 12 2 2 6 6 ...
output:
13 14 22 3 17 1 11 9 5 24 21 8 24 10 8 13 10 9 13 19 23 4 18 12 20 2 7 13 3 4 17 22 12 23 9 26 7 18 11 15 1 25 16 20 2 13 8 19 5 10 24 27 6 14 12 19 22 8 13 11 8 3 15 5 6 4 21 14 20 1 17 7 1 2 1 10 2 7 10 13 4 15 16 25 6 21 7 12 11 18 2 19 14 17 1 3 9 10 8 20 23 8 13 8 23 13 14 8 19 4 9 7 23 3 28 22...
result:
ok 6666 cases passed. max #moves/#balls = 1.357142857
Test #16:
score: 0
Accepted
time: 31ms
memory: 16080kb
input:
15 22 0 2 6 13 1 13 1 4 1 8 1 8 0 2 10 3 2 11 15 2 15 7 1 5 2 2 12 2 11 12 1 6 1 7 2 9 9 1 5 2 1 1 2 3 10 2 14 14 1 4 1 2 15 24 1 2 1 4 2 8 11 1 9 0 1 1 2 5 5 1 9 2 6 6 1 12 1 3 1 3 2 7 13 2 11 10 1 14 1 12 2 10 4 1 15 2 8 7 1 2 0 1 1 1 15 2 13 14 15 24 0 1 14 1 14 2 1 1 1 10 1 12 1 5 2 10 6 1 13 1 ...
output:
14 4 21 11 17 2 3 14 2 5 6 12 5 22 12 13 5 10 15 9 10 13 9 8 13 19 8 13 19 13 6 22 1 20 11 12 17 2 14 17 3 14 24 15 13 24 19 13 3 19 4 8 10 16 18 23 12 10 13 7 12 8 18 5 8 15 16 23 24 6 22 9 14 2 3 19 2 17 2 19 17 15 6 17 14 6 16 3 2 6 5 16 2 5 15 2 10 3 10 15 11 2 12 14 11 12 13 11 7 11 13 7 16 15 ...
result:
ok 6250 cases passed. max #moves/#balls = 1.400000000
Test #17:
score: 0
Accepted
time: 30ms
memory: 14044kb
input:
16 23 1 3 1 9 0 1 9 1 14 1 4 2 5 14 1 10 2 16 5 2 6 6 2 1 1 2 16 11 2 12 12 1 2 1 4 0 2 8 8 2 11 13 1 7 1 10 2 2 15 2 3 15 2 7 13 16 29 0 1 6 1 3 1 7 1 14 1 12 1 9 1 3 1 10 1 14 1 13 1 2 2 6 9 1 4 1 2 2 5 1 1 8 1 16 1 4 2 1 5 1 11 1 7 2 8 10 1 15 1 12 1 11 1 15 1 16 1 13 16 28 1 13 1 8 1 9 1 12 2 15...
output:
14 6 15 2 4 8 20 21 8 14 21 22 8 1 22 23 1 19 23 18 1 12 18 7 5 9 7 12 9 17 12 15 3 8 14 19 13 7 2 13 4 22 23 9 17 23 21 26 6 25 11 29 5 10 24 27 18 28 16 18 20 16 18 20 16 13 20 7 25 16 27 6 28 19 26 12 23 9 22 2 14 24 3 15 24 10 21 4 17 1 11 18 1 5 1 18 5 15 15 21 10 19 8 14 12 18 1 13 7 23 17 7 6...
result:
ok 5882 cases passed. max #moves/#balls = 1.375000000
Test #18:
score: 0
Accepted
time: 22ms
memory: 14072kb
input:
17 33 1 12 2 15 4 1 5 1 13 0 1 6 1 17 1 16 1 7 1 11 1 13 1 17 1 1 1 11 1 12 1 9 1 3 1 7 1 5 1 3 1 2 1 9 1 14 2 15 4 1 1 1 10 1 10 1 8 1 2 1 16 1 14 1 8 1 6 17 23 1 9 2 13 17 1 3 1 13 1 10 2 15 16 2 12 12 2 14 4 2 5 15 1 9 1 7 1 6 2 8 8 1 2 2 4 11 1 11 2 16 5 2 2 10 1 3 1 6 2 1 1 2 14 17 1 7 17 20 2 ...
output:
18 13 25 21 29 17 20 3 19 6 33 9 18 28 32 16 22 26 27 10 14 1 15 4 11 23 31 8 30 7 12 24 7 2 7 24 2 16 18 5 14 18 3 19 12 20 11 23 1 10 22 1 15 16 8 15 8 22 2 1 4 2 17 4 6 17 9 6 4 9 15 6 17 20 6 11 6 5 11 16 5 14 16 9 14 20 9 13 20 4 20 13 4 2 13 18 2 10 18 13 10 18 25 28 9 21 5 11 13 31 4 24 12 20...
result:
ok 5555 cases passed. max #moves/#balls = 1.352941176
Test #19:
score: 0
Accepted
time: 30ms
memory: 14044kb
input:
18 19 2 8 5 2 7 11 2 1 13 2 2 2 0 2 17 11 2 14 6 2 18 18 2 3 12 2 4 3 2 8 12 2 6 14 2 9 16 2 13 1 2 15 15 2 9 16 2 10 10 2 5 4 2 7 17 18 26 2 16 4 2 10 15 1 7 1 13 1 11 1 11 2 15 10 1 14 1 5 1 8 2 9 3 2 2 9 2 4 12 1 13 1 1 1 1 1 17 1 5 2 16 6 1 7 1 8 2 12 6 1 17 2 18 3 1 14 2 2 18 18 23 2 16 16 2 18...
output:
19 6 5 2 5 19 6 2 19 11 2 9 2 10 9 18 10 1 18 11 1 16 11 13 11 16 13 14 16 3 14 16 3 7 16 12 7 16 12 21 15 16 9 18 3 20 10 21 5 6 4 14 8 25 17 23 24 17 11 17 12 11 26 24 12 26 22 12 19 12 13 22 1 13 19 1 7 19 2 7 19 2 14 10 12 6 13 16 23 15 16 11 16 2 11 19 2 7 19 4 15 20 4 7 20 17 7 14 17 7 14 -1 1...
result:
ok 5263 cases passed. max #moves/#balls = 1.388888889
Test #20:
score: 0
Accepted
time: 26ms
memory: 16100kb
input:
19 25 2 8 13 0 1 16 1 5 2 18 13 2 4 7 0 2 17 1 2 12 16 2 12 4 2 19 15 2 1 8 1 3 1 7 2 6 2 2 2 9 2 18 14 1 11 2 10 10 2 15 17 2 6 14 1 5 2 9 19 1 11 1 3 19 34 1 12 1 16 1 16 1 7 1 6 2 4 4 1 8 1 18 2 9 19 1 11 1 13 1 14 1 7 1 6 1 3 1 14 2 9 5 1 11 1 15 1 1 1 3 2 19 1 1 17 1 17 1 13 1 2 1 12 1 8 1 15 1...
output:
20 13 25 4 22 6 14 10 6 9 3 10 9 18 24 5 18 21 10 1 18 12 1 8 12 20 8 11 20 23 11 16 23 15 16 15 21 17 10 5 17 18 22 20 9 22 17 33 9 17 26 32 15 21 5 14 4 13 7 28 30 34 10 18 1 27 11 25 12 16 19 29 2 3 23 24 8 31 -1 21 24 25 5 7 17 23 14 19 18 21 2 9 11 27 4 11 6 2 1 11 15 1 15 6 8 2 20 4 8 20 22 8 ...
result:
ok 5000 cases passed. max #moves/#balls = 1.368421053
Test #21:
score: 0
Accepted
time: 30ms
memory: 16112kb
input:
20 36 1 3 1 19 1 18 1 19 1 2 1 4 1 17 2 5 6 1 1 1 12 1 14 1 20 1 11 1 13 1 7 1 15 1 16 1 3 1 1 1 16 1 11 1 4 1 8 1 15 2 9 5 1 8 1 13 1 7 1 12 1 2 2 10 10 1 17 1 18 1 14 1 20 2 6 9 20 27 2 7 13 2 6 10 0 2 11 8 2 11 2 0 1 17 2 1 1 1 15 1 19 1 19 1 14 2 4 5 1 14 2 12 8 2 7 6 2 2 12 2 3 20 2 18 20 2 3 4...
output:
20 9 19 5 30 1 18 6 22 15 28 23 26 13 21 10 29 14 27 11 34 16 24 17 20 7 32 3 33 2 4 12 35 25 12 36 25 8 36 12 8 22 12 14 9 22 26 27 7 25 10 11 24 10 18 7 13 10 20 13 20 18 19 7 24 19 15 24 4 24 17 15 5 17 4 5 23 4 1 4 2 23 16 2 1 16 21 12 16 21 28 7 13 14 24 2 10 20 22 9 17 18 26 4 11 8 29 23 30 19...
result:
ok 4761 cases passed. max #moves/#balls = 1.300000000
Test #22:
score: 0
Accepted
time: 13ms
memory: 16344kb
input:
70 79 2 13 14 2 49 46 1 43 2 27 27 2 5 5 2 63 50 2 63 15 2 61 25 2 17 39 2 44 26 2 15 45 2 65 2 2 64 6 2 2 28 2 55 60 2 13 68 1 40 2 30 30 1 62 2 41 60 2 16 25 1 69 1 62 2 28 23 2 46 49 2 26 57 1 35 2 66 66 2 10 69 2 33 55 1 10 2 54 9 1 32 2 11 12 1 40 1 7 1 29 2 33 54 2 12 11 2 22 1 1 29 2 6 64 2 2...
output:
79 36 45 29 22 31 29 37 41 33 75 27 62 17 35 3 47 44 50 19 23 52 19 26 44 40 19 63 40 9 63 10 26 72 10 9 72 60 44 52 60 61 52 15 9 32 52 38 32 30 15 38 30 68 38 20 9 20 68 79 38 78 61 79 78 65 79 1 79 16 65 1 16 21 1 55 20 8 1 69 8 69 55 67 20 54 67 21 54 74 21 6 69 11 21 7 11 7 6 73 69 76 74 51 76 ...
result:
ok 1000 cases passed. max #moves/#balls = 1.500000000
Test #23:
score: 0
Accepted
time: 10ms
memory: 16124kb
input:
89 125 2 6 86 1 11 1 43 1 77 1 27 2 72 88 1 52 2 26 75 1 77 2 89 86 1 60 1 18 2 20 20 1 25 2 57 75 1 3 1 55 2 38 19 2 76 2 2 22 24 1 3 2 61 61 2 39 59 2 42 74 1 56 2 71 71 1 68 2 79 87 2 81 67 1 25 2 66 21 1 37 1 70 2 40 83 1 60 1 48 1 52 2 22 24 2 62 62 1 84 2 41 23 1 69 2 32 26 1 36 1 15 2 88 72 1...
output:
88 16 21 48 92 54 93 2 105 79 88 59 96 57 107 45 114 85 91 12 108 14 30 5 47 73 116 51 78 56 112 44 87 32 117 3 75 110 113 82 118 61 98 36 94 62 76 7 37 17 123 25 90 95 109 11 35 27 122 42 52 33 115 83 119 4 9 40 64 67 40 34 67 77 34 19 40 70 19 63 106 70 63 102 70 49 70 80 102 49 80 60 49 55 49 58 ...
result:
ok 100 cases passed. max #moves/#balls = 1.169811321
Test #24:
score: 0
Accepted
time: 97ms
memory: 28264kb
input:
199990 199994 2 112787 58235 2 74630 28941 2 167642 28933 2 133872 119903 2 134119 187247 2 12074 126849 2 172463 191232 2 69306 129651 2 85342 121061 2 31874 148765 2 6567 39825 2 70847 178127 2 161417 173942 2 60884 49005 2 10700 112396 2 134185 131889 2 62930 176558 2 153356 48329 2 88968 136672 ...
output:
249866 149868 199994 55718 149868 174021 55718 154492 174021 33532 199994 98071 154492 33532 98071 146781 33532 40140 174021 3409 40140 127577 3409 127577 146781 78541 127577 183763 33532 177569 183763 39870 177569 128051 39870 40416 128051 47653 40416 24457 47653 139428 24457 94458 139428 25835 785...
result:
ok 1 cases passed. max #moves/#balls = 1.249392470
Test #25:
score: 0
Accepted
time: 98ms
memory: 24560kb
input:
199900 199939 2 159852 65847 2 26090 50275 2 87513 124862 2 86896 171149 2 108960 21092 2 60944 176432 2 64408 168417 2 110938 48609 2 30886 178149 2 180183 52005 2 185615 173446 2 91034 36919 2 121714 75547 2 97679 89549 2 161524 190571 2 129781 26065 2 726 162459 2 28052 166745 2 193665 65435 2 45...
output:
249613 173762 199939 106581 195508 61879 106581 61879 173762 53630 61879 58652 199939 10636 58652 160710 53630 38522 160710 10636 38522 154767 10636 101776 61879 42645 154767 36502 42645 101776 36502 17420 101776 183655 10636 139484 183655 98577 17420 145079 98577 139484 145079 50336 139484 148363 1...
result:
ok 1 cases passed. max #moves/#balls = 1.248689345
Test #26:
score: 0
Accepted
time: 100ms
memory: 23608kb
input:
199000 199158 2 87128 180318 2 51427 22755 2 151883 144846 2 86404 42933 2 86031 56171 2 97601 190366 2 100929 91717 2 10606 53797 2 151688 90226 2 65599 83910 2 159670 153323 2 98395 126956 2 104190 188119 2 134860 5110 2 82527 59574 2 185228 58544 2 131591 9348 2 88390 99580 2 79913 120984 2 12854...
output:
248620 84174 199158 26569 84174 188145 26569 39533 188145 83406 199158 51106 83406 51106 39533 5736 51106 52620 188145 105904 5736 87709 105904 52620 87709 37206 52620 146489 51106 154600 146489 101799 154600 140533 101799 170499 140533 170499 37206 147032 170499 61933 52620 116054 147032 106217 116...
result:
ok 1 cases passed. max #moves/#balls = 1.249346734
Test #27:
score: 0
Accepted
time: 102ms
memory: 23400kb
input:
190000 195490 2 57925 137657 2 115225 31941 2 113825 126389 2 86640 44883 2 54487 34585 2 118366 61471 2 120619 96922 1 140665 2 42131 138488 2 115971 83797 2 79814 139047 2 182772 4122 2 134485 135722 2 83056 53620 2 4840 71513 2 58767 175090 2 55378 47553 2 158331 65564 2 2231 167672 2 45248 44008...
output:
234894 115305 173688 176707 97295 127754 176707 59173 162528 10703 123606 54502 10703 170287 138210 47321 170287 84253 104626 45610 24404 95329 45610 153181 95329 84253 153181 100881 72239 72368 100881 135710 46573 98043 135710 13885 98043 180497 54413 5062 180497 38272 5062 154636 191315 79739 1437...
result:
ok 1 cases passed. max #moves/#balls = 1.236284211
Test #28:
score: 0
Accepted
time: 51ms
memory: 20508kb
input:
100000 150784 1 11363 2 48695 10015 1 45261 0 0 2 59469 34868 2 37754 54971 2 1159 2258 2 36656 7427 1 86418 0 2 58664 20429 1 53392 1 61881 2 17499 14399 1 31182 1 7141 0 2 58765 17577 1 21750 2 55759 24096 0 0 2 68221 45178 1 34307 1 952 0 1 37862 1 31349 2 79909 53730 2 61993 40470 0 1 8272 2 824...
output:
111036 111937 43798 56855 111937 27095 32591 103272 27095 56699 110128 145196 56699 46437 145196 4709 37327 44860 53932 112971 77316 2285 112971 44860 2285 110814 134183 60023 110814 58137 63677 102804 58137 85477 102804 12514 126560 40604 80635 80772 119260 40747 80772 107886 8863 61496 107886 6650...
result:
ok 1 cases passed. max #moves/#balls = 1.110360000
Test #29:
score: 0
Accepted
time: 93ms
memory: 29588kb
input:
199998 200000 2 197320 165241 2 136684 67821 2 38136 196111 2 36675 168634 2 193814 85383 2 188893 178378 2 107377 34791 2 77322 157440 2 51337 91683 2 141729 123337 2 88834 166216 2 172041 99918 2 81678 190214 2 145905 79139 2 184733 143722 2 20662 175460 2 73374 152647 2 111949 12058 2 7347 64349 ...
output:
250095 181365 200000 21514 199999 171410 200000 97712 171410 52612 97712 119503 52612 138016 119503 28740 138016 169576 21514 36185 169576 8836 36185 74434 8836 28740 74434 130769 28740 91173 199999 77064 91173 77064 130769 72711 77064 11747 28740 185560 11747 77786 72711 185560 77786 99645 185560 1...
result:
ok 1 cases passed. max #moves/#balls = 1.250487505