QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#100733 | #6315. 填数游戏 | SoyTony | 100 ✓ | 593ms | 122224kb | C++14 | 8.3kb | 2023-04-27 20:02:42 | 2023-04-27 20:02:44 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
#define x first
#define y second
const int maxn=2e6+10;
inline int read(){
int x=0,w=1;char c=getchar();
while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}
while(c<='9'&&c>='0'){x=(x<<3)+(x<<1)+c-'0';c=getchar();}
return x*w;
}
int t;
int n,m;
pii S[maxn],T[maxn];
int st[maxn];
// 0 neither
// 1 u
// 2 v
// 3 both
struct edge{
int to,nxt,id;
}e[maxn<<1];
int head[maxn],cnt;
int deg[maxn];
bool self_loop[maxn];
inline void add_edge(int u,int v,int id){
e[++cnt].to=v,e[cnt].nxt=head[u],e[cnt].id=id,head[u]=cnt;
e[++cnt].to=u,e[cnt].nxt=head[v],e[cnt].id=id,head[v]=cnt;
}
bool vis[maxn];
int cntnode,cntdeg;
bool chkself_loop;
struct Edge{
int u,v,id;
Edge()=default;
Edge(int u_,int v_,int id_):u(u_),v(v_),id(id_){}
};
vector<int> N;
vector<Edge> E;
void dfs_deg(int u){
vis[u]=1;
++cntnode,cntdeg+=deg[u],chkself_loop|=self_loop[u];
N.push_back(u);
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].to,id=e[i].id;
E.push_back(Edge(u,v,id));
if(vis[v]) continue;
dfs_deg(v);
}
}
int ans;
namespace PseudoTree{
vector<int> loopN;
vector<Edge> loopE;
int fa[maxn];
int mark1,mark2;
bool marknode[maxn],markedge[maxn];
void find_loop(int u,int f,int last){
if(!fa[u]) fa[u]=f;
else{
if(!mark1&&!mark2) mark1=u,mark2=f;
return;
}
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].to;
if(i==(last^1)) continue;
find_loop(v,u,i);
}
}
void dfs(int u,int f){
fa[u]=f;
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].to;
if(v==f||marknode[v]) continue;
dfs(v,u);
}
}
inline void solve(int rt){
int res=0;
loopN.clear(),loopE.clear();
for(int u:N) marknode[u]=0;
for(Edge i:E) markedge[i.id]=0;
if(chkself_loop){
for(int u:N){
if(self_loop[u]){
marknode[u]=1;
dfs(u,0);
}
}
for(Edge i:E){
if(i.u>i.v) continue;
if(markedge[i.id]) continue;
if(i.u==i.v) res+=st[i.id];
else{
if(fa[i.u]==i.v&&(st[i.id]==1||st[i.id]==3)) ++res;
if(fa[i.v]==i.u&&(st[i.id]==2||st[i.id]==3)) ++res;
}
markedge[i.id]=1;
}
}
else{
for(int u:N) fa[u]=0;
for(Edge i:E) markedge[i.id]=0;
mark1=0,mark2=0;
find_loop(rt,m+1,0);
int now=mark2,last=0;
while(1){
loopN.push_back(now);
marknode[now]=1;
for(int i=head[now];i;i=e[i].nxt){
int v=e[i].to;
if(v==last&&!markedge[e[i].id]){
loopE.push_back(Edge(last,now,e[i].id));
markedge[e[i].id]=1;
break;
}
}
if(now==mark1) break;
last=now,now=fa[now];
}
for(int i=head[mark1];i;i=e[i].nxt){
int v=e[i].to;
if(v==mark2&&!markedge[e[i].id]){
loopE.push_back(Edge(mark1,mark2,e[i].id));
markedge[e[i].id]=1;
break;
}
}
for(int u:loopN) dfs(u,0);
for(Edge i:E){
if(i.u>i.v) continue;
if(markedge[i.id]) continue;
if(fa[i.u]==i.v&&(st[i.id]==1||st[i.id]==3)) ++res;
if(fa[i.v]==i.u&&(st[i.id]==2||st[i.id]==3)) ++res;
markedge[i.id]=1;
}
int cnt1=0,cnt2=0,cnt3=0;
for(Edge i:loopE){
if(st[i.id]==1){
if(i.u<i.v) ++cnt1;
else ++cnt2;
}
else if(st[i.id]==2){
if(i.u<i.v) ++cnt2;
else ++cnt1;
}
else if(st[i.id]==3) ++cnt3;
}
if(cnt1+cnt3<cnt2) res+=(cnt1+cnt3);
else if(cnt2+cnt3<cnt1) res+=(cnt2+cnt3);
else res+=(cnt1+cnt2+cnt3)/2;
}
ans+=res;
}
}
namespace Tree{
int fa[maxn],siz[maxn],dfn[maxn],dfncnt;
void dfs1(int u,int f){
fa[u]=f,siz[u]=1,dfn[u]=++dfncnt;
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].to;
if(v==f) continue;
dfs1(v,u);
siz[u]+=siz[v];
}
}
int sum[maxn];
inline void add(int l,int r){
if(l>r) return;
++sum[l],--sum[r+1];
}
int cntedge;
int f[maxn][2];
int D;
void dfs2(int u){
f[u][0]=f[u][1]=sum[dfn[u]];
for(int i=head[u];i;i=e[i].nxt){
int v=e[i].to,w=(st[e[i].id]==3);
if(v==fa[u]) continue;
dfs2(v);
if(f[v][0]+w>f[u][0]) f[u][1]=f[u][0],f[u][0]=f[v][0]+w;
else if(f[v][0]+w>f[u][1]) f[u][1]=f[v][0]+w;
}
D=max(D,f[u][0]+f[u][1]);
}
inline void solve(int rt){
dfncnt=0;
for(int u:N) fa[u]=0,siz[u]=0,dfn[u]=0;
dfs1(rt,0);
for(int i=1;i<=dfncnt;++i) sum[i]=0;
cntedge=0;
for(Edge i:E){
if(i.u>i.v) continue;
if(st[i.id]==1){
++cntedge;
if(fa[i.u]==i.v) add(dfn[i.u],dfn[i.u]+siz[i.u]-1);
if(fa[i.v]==i.u) add(1,dfn[i.v]-1),add(dfn[i.v]+siz[i.v],dfncnt);
}
else if(st[i.id]==2){
++cntedge;
if(fa[i.u]==i.v) add(1,dfn[i.u]-1),add(dfn[i.u]+siz[i.u],dfncnt);
if(fa[i.v]==i.u) add(dfn[i.v],dfn[i.v]+siz[i.v]-1);
}
else if(st[i.id]==3) ++cntedge;
}
for(int i=1;i<=dfncnt;++i) sum[i]+=sum[i-1];
for(int u:N) f[u][0]=f[u][1]=0;
D=0;
dfs2(rt);
ans+=cntedge-D/2-((D&1)?1:0);
}
}
int main(){
// freopen("game.in","r",stdin);
// freopen("game.out","w",stdout);
t=read();
while(t--){
n=read(),m=read();
for(int i=1;i<=n;++i){
S[i]=make_pair(0,0),T[i]=make_pair(0,0);
st[i]=0;
}
cnt=1;
for(int i=1;i<=m;++i){
head[i]=0,deg[i]=0,self_loop[i]=0,vis[i]=0;
}
for(int i=1;i<=n;++i){
int k=read();
S[i].x=read();
if(k==2){
S[i].y=read();
if(S[i].x>S[i].y) swap(S[i].x,S[i].y);
}
}
for(int i=1;i<=n;++i){
int k=read();
T[i].x=read();
if(k==2){
T[i].y=read();
if(T[i].x>T[i].y) swap(T[i].x,T[i].y);
}
}
for(int i=1;i<=n;++i){
bool chk0=0,chk1=0;
if(S[i].x==T[i].x||S[i].y==T[i].x) chk0=1;
if(T[i].y&&(S[i].x==T[i].y||S[i].y==T[i].y)) chk1=1;
if(chk0&&chk1) st[i]=3;
else if(chk0) st[i]=1;
else if(chk1) st[i]=2;
else st[i]=0;
}
for(int i=1;i<=n;++i){
if(!T[i].y){
deg[T[i].x]+=2;
self_loop[T[i].x]=1;
add_edge(T[i].x,T[i].x,i);
}
else{
++deg[T[i].x],++deg[T[i].y];
add_edge(T[i].x,T[i].y,i);
}
}
bool chk=1;
ans=0;
for(int i=1;i<=m;++i){
if(vis[i]) continue;
if(!deg[i]) continue;
cntnode=0,cntdeg=0,chkself_loop=0;
N.clear(),E.clear();
dfs_deg(i);
if(cntdeg/2>cntnode){
chk=0;
break;
}
else if(cntdeg/2==cntnode) PseudoTree::solve(i);
else if(cntdeg/2==cntnode-1) Tree::solve(i);
}
if(!chk) printf("-1\n");
else printf("%d\n",ans);
}
return 0;
}
详细
Test #1:
score: 4
Accepted
time: 2ms
memory: 3476kb
input:
20 9 10 2 5 2 2 4 3 1 3 2 4 10 2 1 7 2 1 2 2 5 3 1 6 2 2 7 2 5 4 2 4 3 2 3 9 2 10 4 2 3 1 2 1 2 2 8 7 2 2 6 2 2 7 9 10 2 2 5 2 2 8 2 7 2 2 4 7 2 6 7 2 10 9 2 9 3 2 5 7 2 1 5 2 2 1 2 8 7 2 7 10 2 4 3 2 6 5 2 9 8 2 2 3 2 6 7 2 5 4 9 10 2 2 7 2 4 10 2 5 6 2 2 6 2 9 8 2 7 5 2 3 6 2 6 3 2 7 6 2 7 8 2 5 4...
output:
4 0 3 1 1 1 8 -1 9 2 5 3 3 5 3 4 3 3 1 4
result:
ok 20 numbers
Test #2:
score: 4
Accepted
time: 2ms
memory: 3732kb
input:
20 9 10 2 4 7 2 6 10 2 9 3 2 5 6 2 7 6 2 3 2 2 4 6 2 8 1 2 3 8 2 8 7 2 10 6 2 3 4 2 5 6 2 6 7 2 1 2 2 4 5 2 8 9 2 3 2 10 10 2 2 1 2 3 7 2 6 10 2 3 4 2 7 4 2 3 4 1 5 2 8 3 2 1 4 2 6 9 2 2 1 2 2 3 2 2 6 2 4 5 2 7 4 2 4 3 2 6 5 2 10 3 2 8 4 2 9 2 10 10 2 9 8 2 7 3 2 1 2 2 10 5 1 6 2 3 2 2 4 10 2 9 1 2 ...
output:
3 5 9 4 3 3 -1 4 5 2 3 2 0 4 3 6 1 5 2 2
result:
ok 20 numbers
Test #3:
score: 4
Accepted
time: 2ms
memory: 3556kb
input:
20 10 10 1 5 2 3 6 2 4 3 2 2 9 2 1 2 2 4 10 2 4 6 2 7 8 2 2 4 2 3 2 2 5 6 2 2 6 2 3 4 2 2 9 2 1 2 2 10 4 2 4 7 2 8 7 2 5 4 2 2 3 9 10 2 5 8 1 2 2 2 6 2 10 3 1 4 2 9 8 1 10 2 7 8 2 5 3 2 7 8 2 1 2 2 6 5 2 2 3 2 4 3 2 8 9 2 5 10 2 7 6 2 5 4 9 10 2 9 5 2 10 2 2 1 9 2 1 8 2 5 10 1 8 1 4 2 4 6 2 1 10 2 1...
output:
6 1 4 4 -1 3 4 3 3 6 4 1 3 9 3 6 3 4 3 0
result:
ok 20 numbers
Test #4:
score: 4
Accepted
time: 1ms
memory: 3616kb
input:
20 9 10 2 2 4 2 6 3 1 2 2 10 7 1 4 2 1 2 1 4 1 6 2 9 4 2 4 2 2 2 3 2 1 10 2 8 7 2 4 7 2 1 2 2 5 4 2 6 2 2 4 9 9 10 2 5 4 2 6 8 2 4 2 2 4 3 2 5 6 2 2 3 2 7 6 2 3 8 2 9 7 2 5 4 2 8 9 2 1 2 2 4 3 2 6 5 2 3 10 2 7 6 2 3 2 2 8 7 9 10 2 4 3 2 9 6 2 2 7 2 5 9 1 8 1 3 2 9 5 2 7 3 1 4 2 10 9 2 6 5 2 2 1 2 5 ...
output:
3 2 0 3 9 3 0 3 4 4 3 6 3 2 3 8 2 -1 3 3
result:
ok 20 numbers
Test #5:
score: 4
Accepted
time: 2ms
memory: 3472kb
input:
20 10 10 2 7 3 2 6 2 1 3 2 1 4 2 3 4 1 1 2 5 4 2 1 8 1 4 2 4 8 2 7 6 2 3 2 2 8 3 2 10 4 2 5 4 2 6 1 2 5 6 2 1 2 2 9 4 2 4 3 10 10 2 2 1 1 4 2 10 3 2 2 4 1 6 2 5 9 2 6 9 1 2 2 3 8 1 2 2 2 10 2 8 4 2 4 3 2 1 2 2 6 5 2 5 4 2 9 6 2 3 2 2 7 3 2 1 2 9 10 2 9 3 1 6 2 2 1 2 9 4 1 4 2 8 1 2 8 6 1 5 1 7 2 3 2...
output:
3 4 1 3 3 -1 3 2 6 2 2 4 3 3 5 4 7 1 3 2
result:
ok 20 numbers
Test #6:
score: 4
Accepted
time: 4ms
memory: 3512kb
input:
1000 10 10 2 1 8 2 8 3 2 3 4 2 2 1 2 4 7 2 7 4 2 9 6 1 5 1 8 2 2 6 2 7 3 2 6 7 2 10 9 2 8 3 2 9 1 2 10 6 2 3 10 2 7 4 2 5 6 2 3 8 9 10 2 8 4 1 3 1 9 2 3 7 2 6 2 2 4 3 2 3 7 2 1 4 2 1 7 2 5 2 2 5 4 2 5 8 2 10 5 2 8 9 2 5 6 1 10 2 8 7 1 10 39 40 2 3 40 2 26 17 2 21 27 2 5 9 1 24 2 19 6 2 25 18 2 18 29...
output:
-1 -1 -1 -1 -1 -1 0 0 0 -1 -1 0 -1 0 0 0 0 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 0 0 -1 -1 -1 0 0 0 -1 -1 -1 0 0 0 -1 0 -1 0 0 0 0 0 0 -1 0 -1 0 0 -1 -1 0 0 -1 0 0 -1 0 0 0 -1 0 -1 0 0 -1 -1 -1 0 0 0 0 -1 -1 0 -1 -1 -1 -1 0 0 0 -1 0 0 -1 -1 -1 -1 0 -1 0 -1 0 0 0 0 -1 0 0 -1 0 0 0 -1 -1 0 0 -1 ...
result:
ok 1000 numbers
Test #7:
score: 4
Accepted
time: 2ms
memory: 3508kb
input:
1000 10 10 2 2 6 1 2 1 3 1 5 2 9 10 2 6 7 1 7 2 4 8 2 9 4 1 10 2 2 1 2 3 2 2 4 3 2 5 4 2 6 5 2 7 6 2 7 8 2 9 8 2 10 9 2 10 1 9 10 2 1 2 2 2 3 1 7 1 4 2 1 6 2 7 6 2 7 3 2 4 9 2 1 9 2 2 1 2 3 2 2 4 3 2 4 5 2 6 5 2 6 7 2 8 7 2 9 8 2 9 1 9 10 2 1 7 1 10 2 3 6 2 9 5 2 5 4 1 6 2 8 7 2 8 9 2 9 8 2 1 2 2 2 ...
output:
3 4 3 4 2 3 4 3 2 4 3 3 3 5 2 3 5 5 5 3 2 3 3 2 13 4 4 3 1 3 2 2 3 4 4 3 4 2 4 3 4 4 2 3 4 4 3 1 1 3 3 1 4 4 24 4 4 2 4 3 2 2 2 1 3 4 4 2 1 5 4 3 4 0 4 4 4 3 2 4 4 4 4 5 1 3 4 3 3 2 3 2 3 3 4 4 3 1 3 4 3 2 3 3 1 2 35 1 4 3 3 4 4 2 3 3 3 2 4 3 4 3 3 1 3 2 2 17 3 4 2 3 4 11 4 4 3 4 2 9 2 5 2 2 3 3 4 3...
result:
ok 1000 numbers
Test #8:
score: 4
Accepted
time: 1ms
memory: 3492kb
input:
1000 1 10 1 7 1 7 2 10 1 8 1 3 1 8 1 3 2 10 1 1 1 9 1 1 1 9 5 10 1 7 1 6 1 4 1 3 1 10 1 7 1 6 1 4 1 3 1 10 29 40 1 9 1 15 1 29 1 20 1 8 1 30 1 27 1 7 1 24 1 8 1 23 1 17 1 10 1 28 1 26 1 19 1 15 1 33 1 16 1 14 1 10 1 30 1 20 1 40 1 22 1 10 1 31 1 38 1 5 2 28 9 2 15 6 2 39 29 2 20 31 2 8 38 2 30 25 1 ...
output:
1 2 2 5 8 3 3 4 5 1 7 3 5 2 1 2 3 2 4 1 2 14 4 2 3 4 1 3 4 3 3 4 3 4 3 4 4 4 11 10 3 3 3 2 3 4 5 3 2 3 3 3 5 3 10 4 4 2 7 12 3 3 3 3 1 4 2 2 5 4 4 3 3 6 4 2 5 4 3 4 5 3 4 4 3 32 3 2 4 3 4 7 2 4 6 4 3 3 3 4 3 1 3 4 2 4 3 5 4 3 4 3 3 4 2 2 2 5 2 4 3 3 3 2 2 3 3 4 3 1 4 5 3 4 2 3 2 3 4 2 4 13 3 4 3 3 3...
result:
ok 1000 numbers
Test #9:
score: 4
Accepted
time: 3ms
memory: 3624kb
input:
1000 5 10 1 7 2 9 8 2 1 4 1 3 2 2 9 1 7 2 9 8 2 1 4 1 3 2 2 9 6 10 2 3 6 2 2 5 2 6 3 2 2 5 2 8 9 1 4 2 6 3 2 5 2 2 6 3 2 5 2 2 9 8 1 4 8 10 1 8 2 5 6 2 5 6 2 3 8 2 9 7 2 7 9 1 4 1 10 1 8 2 6 5 2 6 5 2 8 3 2 7 9 2 7 9 1 4 1 10 6 10 1 9 1 4 1 3 2 7 1 1 5 2 1 6 1 9 1 4 1 3 2 7 1 1 5 2 1 6 6 10 2 6 1 2 ...
output:
3 3 6 5 3 2 8 4 4 48 4 7 5 2 3 3 1 4 2 20 4 6 22 3 5 3 6 3 2 6 3 6 8 15 7 5 7 6 3 4 5 5 4 3 3 7 7 2 55 3 1 3 5 4 5 4 4 4 7 5 8 7 6 5 6 6 2 4 4 4 5 7 6 3 5 5 6 3 5 7 5 6 4 6 6 5 3 2 6 4 4 6 3 22 4 7 5 3 7 5 5 3 56 3 1 5 7 7 5 4 4 3 3 8 4 3 1 3 -1 5 45 4 4 3 4 5 6 7 4 6 5 5 5 4 6 19 16 6 4 2 2 6 17 3 ...
result:
ok 1000 numbers
Test #10:
score: 4
Accepted
time: 3ms
memory: 3480kb
input:
1000 7 10 2 6 9 2 7 1 2 3 2 2 3 10 2 4 10 1 8 2 2 6 1 9 1 7 2 2 3 1 10 2 2 4 1 8 1 6 6 10 2 2 7 2 10 4 1 9 1 10 2 10 6 1 5 1 7 1 4 1 9 1 10 1 6 1 5 6 10 1 4 2 9 2 2 6 5 1 7 2 6 7 1 10 1 4 1 9 1 5 1 7 1 6 1 10 6 10 2 2 8 1 7 2 3 6 2 6 4 2 10 4 1 8 2 4 2 1 7 2 2 3 1 6 1 10 1 8 6 10 1 5 2 1 2 1 7 2 2 6...
output:
6 6 6 4 5 6 5 5 6 4 4 5 4 19 4 5 3 5 5 5 6 20 5 6 3 6 3 5 4 4 4 4 6 5 34 3 4 5 4 7 6 7 4 3 6 4 6 4 5 4 5 4 7 4 5 6 5 4 4 4 5 6 5 14 5 5 6 5 4 5 7 5 3 5 14 6 5 15 6 5 4 5 5 5 5 4 3 3 4 6 4 5 6 4 6 13 4 4 6 3 5 4 4 4 5 3 4 3 4 3 15 4 5 4 4 5 3 3 5 5 5 4 7 6 5 5 4 7 5 5 5 6 5 3 4 71 6 4 3 6 5 5 6 5 5 3...
result:
ok 1000 numbers
Test #11:
score: 4
Accepted
time: 3ms
memory: 3484kb
input:
1000 5 10 1 1 2 6 5 1 5 2 9 7 1 8 2 1 2 1 6 2 1 3 1 7 1 8 7 10 1 8 2 4 7 2 8 5 1 10 2 2 9 1 7 1 6 1 8 1 4 1 5 1 10 1 9 1 7 1 6 5 10 2 2 5 2 4 9 2 9 8 2 9 10 1 6 1 5 1 4 1 8 1 9 1 6 6 10 2 2 5 2 10 7 1 4 2 6 4 1 8 2 5 7 1 5 1 10 1 4 1 6 1 8 1 7 5 10 2 7 8 2 3 1 1 6 1 1 1 8 1 7 2 1 3 1 6 2 1 2 1 8 5 1...
output:
3 7 5 6 3 4 6 5 5 5 7 4 5 36 6 3 5 6 5 4 3 4 5 6 7 4 5 5 4 4 5 4 5 5 7 3 3 6 4 4 6 9 6 4 4 5 6 4 5 6 4 6 5 4 3 4 14 5 4 5 4 5 4 6 5 4 3 5 5 3 5 5 5 5 7 5 6 4 5 5 13 5 5 9 5 5 3 4 4 4 5 7 5 5 3 6 5 4 4 4 5 5 7 -1 4 6 6 5 5 4 4 5 6 4 6 4 6 4 3 9 5 4 4 4 5 6 12 4 4 4 5 5 5 4 5 7 17 6 4 6 3 5 6 19 5 16 ...
result:
ok 1000 numbers
Test #12:
score: 4
Accepted
time: 17ms
memory: 3992kb
input:
1000 89 100 2 7 10 2 44 79 2 90 72 2 81 82 2 97 98 1 26 2 12 11 2 19 22 2 75 76 2 87 57 2 93 20 2 14 15 1 18 2 52 56 2 63 65 1 52 2 19 69 2 17 30 1 80 2 87 88 2 32 79 2 65 57 2 10 99 2 74 71 1 90 2 61 62 2 61 40 2 15 59 2 78 53 1 71 2 82 36 2 29 8 2 17 18 2 92 67 2 81 63 2 4 5 2 51 54 2 14 13 1 62 2...
output:
38 39 38 40 36 37 35 33 34 37 33 170 32 34 39 40 41 32 42 35 32 33 26 38 32 44 39 29 167 144 32 38 34 34 41 156 40 37 42 36 31 -1 43 182 40 39 175 32 39 33 36 30 33 -1 42 44 38 26 32 43 44 37 31 40 37 33 39 32 31 162 44 36 37 35 40 34 38 36 33 35 29 32 39 175 29 34 36 33 43 31 35 33 32 39 36 33 45 3...
result:
ok 1000 numbers
Test #13:
score: 4
Accepted
time: 22ms
memory: 3964kb
input:
1000 94 100 2 52 4 1 59 1 47 1 59 2 42 94 2 12 13 2 71 87 2 60 59 2 57 47 2 94 70 1 64 2 12 27 2 77 94 2 50 35 1 5 2 70 58 2 64 56 2 67 68 2 21 29 1 26 2 100 73 2 92 93 1 73 2 71 72 2 38 36 2 50 20 1 74 2 47 87 1 4 1 76 2 92 99 2 82 64 2 48 49 2 15 14 2 38 69 1 51 2 55 42 1 68 1 45 2 21 16 1 30 2 91...
output:
41 27 39 33 35 25 31 34 33 36 41 32 44 46 38 37 44 32 37 160 32 40 441 38 38 44 31 39 31 45 37 46 45 41 173 35 35 36 36 36 30 39 35 41 39 32 449 41 44 34 35 36 35 33 30 37 33 32 42 34 34 31 32 36 34 34 39 424 43 31 34 30 32 32 39 35 39 33 37 29 36 34 33 162 30 37 36 34 -1 44 33 37 37 163 41 46 37 15...
result:
ok 1000 numbers
Test #14:
score: 4
Accepted
time: 60ms
memory: 24364kb
input:
1000 88 90 2 59 42 1 45 2 68 83 2 36 2 2 89 70 1 7 1 8 2 67 55 2 81 47 2 76 36 1 68 2 86 27 1 8 1 12 1 4 2 64 21 2 11 1 2 6 69 2 39 58 2 39 40 1 3 2 39 76 1 62 2 43 69 1 53 1 79 2 78 65 2 85 1 1 75 2 47 87 2 26 41 2 17 38 1 2 2 25 41 2 86 71 1 37 2 31 80 1 14 2 47 12 2 66 78 2 28 83 1 57 1 69 2 53 6...
output:
-1 0 -1 -1 -1 0 -1 -1 -1 -1 -1 0 0 0 -1 0 0 -1 -1 -1 -1 -1 -1 0 0 0 0 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 0 -1 -1 0 0 -1 -1 -1 -1 -1 0 -1 -1 0 0 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -...
result:
ok 1000 numbers
Test #15:
score: 4
Accepted
time: 47ms
memory: 38020kb
input:
1000 86 90 1 2 2 2 79 2 4 89 2 55 4 2 12 6 2 6 70 2 7 9 2 8 39 2 30 10 2 10 35 2 70 8 2 12 13 1 13 2 14 35 2 15 21 2 42 16 1 28 1 18 1 19 2 75 20 2 21 5 2 81 22 2 55 23 2 24 19 1 25 1 62 1 27 1 28 2 59 29 2 31 30 2 32 31 1 32 1 33 1 35 1 35 2 36 70 2 85 29 2 39 38 1 39 1 40 2 18 41 1 42 2 84 44 2 44...
output:
22 25 37 40 30 30 36 26 23 36 29 29 17 27 33 22 37 20 36 26 35 29 40 26 21 40 26 19 33 27 24 37 20 21 29 23 23 22 36 36 34 27 22 39 38 40 39 20 22 18 35 27 36 25 32 21 40 36 21 36 25 19 27 38 37 27 17 25 39 23 25 38 26 26 31 37 27 37 36 17 23 21 23 28 37 27 20 38 29 22 21 20 23 41 22 38 24 22 26 26 ...
result:
ok 1000 numbers
Test #16:
score: 4
Accepted
time: 60ms
memory: 38084kb
input:
1000 90 90 2 25 2 2 27 3 2 85 4 2 5 4 2 19 6 2 6 7 2 50 7 2 9 69 1 10 1 11 1 11 1 13 2 14 16 1 15 1 16 2 88 16 1 26 2 76 19 2 19 20 1 20 1 22 2 53 22 2 26 24 1 25 2 25 26 2 8 61 1 23 2 66 29 2 21 30 1 31 2 32 1 2 67 32 2 56 34 1 34 2 36 35 1 36 2 37 40 2 20 39 1 40 2 65 41 2 64 42 2 74 54 2 24 44 2 ...
output:
21 37 29 38 19 27 36 38 23 21 23 38 37 24 19 23 32 27 37 39 18 25 30 28 25 28 24 29 21 32 18 26 34 27 39 29 31 21 21 29 22 31 37 19 27 25 20 36 27 22 37 26 30 24 37 27 35 36 41 27 39 40 16 19 26 24 21 21 37 36 256 36 37 21 37 15 24 24 23 19 39 29 27 38 26 28 38 26 26 40 38 38 19 27 28 38 21 28 20 38...
result:
ok 1000 numbers
Test #17:
score: 4
Accepted
time: 62ms
memory: 19192kb
input:
1000 76 90 1 3 1 83 1 67 1 28 1 17 1 63 1 16 1 13 1 27 1 75 1 12 1 85 1 19 1 40 1 30 1 32 1 58 1 20 1 83 1 72 1 50 1 11 1 53 1 39 1 3 1 58 1 71 1 31 1 6 1 35 1 20 1 62 1 43 1 63 1 32 1 51 1 55 1 73 1 33 1 8 1 34 1 21 1 55 1 44 1 50 1 81 1 84 1 88 1 65 1 53 1 28 1 40 1 14 1 77 1 4 1 87 1 13 1 89 1 11...
output:
28 25 29 36 29 35 31 38 38 31 24 24 25 36 30 36 28 32 31 27 22 31 24 23 29 31 32 29 28 26 32 24 33 31 27 400 25 29 28 30 30 28 29 36 37 28 26 33 31 31 33 32 25 30 34 30 27 26 22 27 39 26 32 37 32 25 22 28 29 26 25 41 34 36 27 31 29 26 29 31 33 29 33 31 27 31 27 36 32 34 29 30 35 30 25 38 33 32 36 27...
result:
ok 1000 numbers
Test #18:
score: 4
Accepted
time: 75ms
memory: 21280kb
input:
1000 83 90 1 34 1 30 1 86 1 13 1 82 1 25 1 83 1 45 1 26 1 12 1 49 1 56 1 73 1 40 1 35 1 34 1 5 1 80 1 69 1 81 1 25 1 67 1 20 1 54 1 62 1 83 1 21 1 35 1 52 1 67 1 47 1 69 1 11 1 85 1 31 1 33 1 51 1 4 1 9 1 63 1 18 1 41 1 63 1 11 1 48 1 43 1 65 1 53 1 61 1 2 1 5 1 76 1 75 1 77 1 64 1 78 1 14 1 72 1 8 ...
output:
32 28 29 29 23 38 26 32 31 37 28 31 32 32 27 29 28 29 23 30 36 34 30 26 25 27 25 27 27 32 35 25 24 24 27 25 35 32 28 24 33 31 31 36 31 40 29 27 33 26 -1 33 32 27 28 27 27 30 29 29 30 28 32 31 32 25 28 30 39 29 31 31 28 30 32 30 30 28 29 27 33 29 27 31 29 23 24 32 27 31 38 30 32 34 25 33 24 27 28 29 ...
result:
ok 1000 numbers
Test #19:
score: 4
Accepted
time: 42ms
memory: 16884kb
input:
1000 62 90 1 59 2 46 10 2 85 2 2 79 41 2 34 88 2 49 7 2 66 19 2 77 75 2 26 86 2 68 13 2 71 85 2 11 29 2 65 74 2 80 19 2 87 48 2 17 27 2 21 46 1 44 2 30 27 1 20 2 86 58 2 85 40 2 40 36 2 1 27 2 74 44 1 72 2 14 12 2 18 29 2 39 33 2 66 19 2 90 60 2 47 62 2 52 90 2 12 80 2 68 75 2 51 29 2 1 57 1 61 2 43...
output:
48 50 50 41 42 39 45 48 44 45 48 49 38 50 43 48 46 39 47 46 41 47 45 47 43 40 36 45 50 46 38 52 47 47 44 45 41 36 48 42 39 44 47 44 49 48 42 48 50 46 48 42 46 42 41 44 41 -1 42 44 47 45 46 51 44 44 53 53 41 42 46 35 43 48 51 48 49 49 46 42 44 47 80116 47 47 50 39 39 44 43 42 52 547 42 43 45 47 43 42...
result:
ok 1000 numbers
Test #20:
score: 4
Accepted
time: 41ms
memory: 17532kb
input:
1000 65 90 2 33 90 2 61 28 2 39 71 2 58 78 2 9 41 2 70 84 2 20 64 2 26 3 2 73 57 2 21 4 2 89 88 2 69 85 2 82 55 2 20 39 2 5 27 2 9 42 2 64 25 2 85 81 2 26 3 1 15 2 87 60 2 86 1 2 10 22 2 66 28 2 66 12 2 19 14 2 8 33 2 84 70 2 11 39 1 16 2 75 37 2 47 39 1 51 2 78 57 2 19 18 2 77 74 2 59 15 2 76 65 2 ...
output:
48 39 44 43 44 43 54 43 45 48 53 50 46 41 46 43 43 46 50 44 47 38 48 42 38 49 40 47 41 50 535 44 47 42 45 50 47 51 42 44 39 49 47 53 48 43 49 43 46 43 51 41 47 49 39 43 46 50 39 43 51 544 53 46 50 44 40 42 37 49 -1 48 50 43 40 48 45 44 44 38 48 51 46 46 49 50 50 40 46 43 53 44 45 43 51 40 47 42 51 4...
result:
ok 1000 numbers
Test #21:
score: 4
Accepted
time: 58ms
memory: 21000kb
input:
1000 76 90 2 15 3 2 61 68 2 35 15 2 67 86 1 36 1 40 2 13 12 2 30 37 2 14 64 2 29 68 2 15 14 2 17 25 2 11 12 2 79 13 2 62 7 2 35 1 2 42 71 2 33 38 1 85 2 47 17 2 39 37 2 60 6 1 77 1 57 2 39 29 1 71 2 30 47 2 30 33 2 64 79 2 42 77 2 45 38 2 33 1 2 75 76 2 18 26 1 18 2 57 56 2 19 55 2 7 81 2 53 19 2 56...
output:
34 33 39 30 38 33 32 35 28 30 36 27 35 31 37 32 31 32 35 30 39 24 29 30 39 36 33 38 34 38 32 34 30 25 33 29 33 32 31 31 32 32 27 29 30 37 36 35 36 32 65796 39 33 33 24 29 29 24 28 38 24 28 34 31 27 29 -1 28 31 34 37 29 31 23 31 31 31 34 35 36 36 29 33 31 38 38 38 35 26 28 36 30 38 33 28 29 31 26 34 ...
result:
ok 1000 numbers
Test #22:
score: 4
Accepted
time: 62ms
memory: 20796kb
input:
1000 80 90 2 48 50 2 20 23 2 82 8 1 4 1 40 2 69 59 2 13 67 2 6 86 2 3 74 2 9 38 1 9 1 79 1 18 2 15 14 1 31 2 77 21 2 33 72 2 56 39 2 32 33 2 90 89 2 86 83 2 90 13 2 34 26 2 23 68 1 50 2 65 83 1 77 2 79 69 2 25 26 2 44 43 2 74 84 2 13 12 1 62 1 71 2 26 70 2 2 83 2 7 20 2 23 1 2 11 12 2 78 7 1 58 1 65...
output:
33 36 30 41 26 26 32 27 26 29 34 37 32 30 27 32 35 33 37 30 25 36 30 33 33 38 30 37 29 31 32 29 26 35 29 28 34 31 28 28 34 27 37 34 33 30 35 38 35 28 39 27 35 32 34 36 25 22 26 26 28 31 35 32 33 26 35 32 34 29 31 34 30 31 36 29 25 34 43 32 32 33 39 27 32 24 31 28 29 37 29 35 28 33 30 34 35 32 32 31 ...
result:
ok 1000 numbers
Test #23:
score: 4
Accepted
time: 593ms
memory: 122152kb
input:
1000 82 90 2 36 58 2 64 41 2 1 12 2 6 90 2 50 15 2 30 27 2 42 87 2 89 33 2 47 28 1 70 1 17 1 20 2 33 62 2 31 7 2 4 69 2 83 37 2 55 36 2 35 32 2 29 11 1 57 2 53 52 2 9 53 2 88 66 1 21 1 22 2 28 39 2 11 12 1 5 2 78 56 2 59 57 2 63 8 2 85 62 2 84 16 2 48 49 2 7 61 2 3 9 1 4 1 50 1 80 2 62 43 2 77 50 2 ...
output:
32 34 34 34 29 38 32 39 39 34 23 33 28 37 33 41 36 35 35 25 34 29 30 24 27 38 36 40 31 29 35 30 38 29 36 31 29 35 39 35 29 29 27 26 32 30 47 30 31 42 37 33 26 35 27 29 38 39 33 27 31 35 29 39 35 36 -1 34 36 33 33 -1 38 28 29 33 27 27 39 31 32 36 32 30 29 32 26 35 37 24 33 35 35 29 34 27 31 28 30 30 ...
result:
ok 1000 numbers
Test #24:
score: 4
Accepted
time: 589ms
memory: 122224kb
input:
1000 83 90 2 71 72 2 6 16 2 78 3 2 24 25 2 39 65 2 19 9 2 10 14 1 30 2 86 65 2 17 18 1 47 2 69 68 1 7 2 64 7 2 31 68 2 90 89 2 85 4 2 22 79 2 12 62 2 56 66 1 83 1 88 2 43 45 2 50 20 2 15 14 2 38 59 1 32 1 80 2 33 6 1 61 2 15 41 2 47 20 2 78 52 2 1 13 1 18 2 6 63 2 70 62 2 25 27 1 74 2 8 2 2 65 41 2 ...
output:
37 29 31 31 34 32 33 35 32 31 30 27 32 36 33 27 29 28 35 33 27 37 30 33 27 29 27 33 33 36 37 24 34 33 29 29 36 41 34 34 25 35 33 24 21 36 33 33 32 30 35 32 36 34 30 31 38 30 27 34 30 33 29 31 32 37 37 31 30 24 26 33 33 28 31 29 35 39 31 26 34 33 29 37 35 29 29 34 33 33 29 34 32 27 35 34 29 35 25 32 ...
result:
ok 1000 numbers
Test #25:
score: 4
Accepted
time: 555ms
memory: 121976kb
input:
1000 80 90 2 66 52 2 74 17 2 42 71 2 59 58 2 86 21 1 81 2 25 63 1 52 1 1 1 25 2 2 22 1 89 1 39 1 28 2 78 85 2 67 76 1 85 2 30 31 2 12 13 2 25 38 1 33 2 38 71 1 9 2 62 61 1 16 1 54 2 52 66 2 5 15 2 14 13 2 69 3 2 70 66 2 37 25 2 21 27 2 34 6 2 44 85 2 12 33 1 75 2 51 53 2 4 45 2 39 82 1 26 1 15 2 46 ...
output:
38 31 31 25 32 398 36 34 34 31 33 38 36 32 33 37 26 37 30 38 32 34 39 30 36 31 28 30 40 38 28 31 41 34 36 31 35 36 30 33 33 39 39 30 30 29 31 31 31 34 34 38 34 39 33 39 35 40 30 35 29 33 30 34 37 40 38 34 31 34 37 34 31 41 37 31 34 37 32 36 34 37 37 37 33 26 39 37 29 28 39 30 37 31 33 32 30 37 31 35...
result:
ok 1000 numbers
Extra Test:
score: 0
Extra Test Passed