QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#96522 | #6315. 填数游戏 | qdbp | 100 ✓ | 2578ms | 348668kb | C++14 | 6.3kb | 2023-04-14 07:38:07 | 2023-04-14 07:38:08 |
Judging History
answer
#include<iostream>
#include<cstdio>
#include<vector>
#include<queue>
#define pii pair<int,int>
#define MP make_pair
#define fi first
#define se second
#define SZ(x) (int)(x.size())
#define Getchar() p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++
using namespace std;
const int N=1e6+10;
int L[N];
int T,n,m;
int tp[N];
int ck[N];
int deg[N];
int c[N],v[N];
int A[N],B[N];
int cnt,tot,mx,al;
int a[N][3],b[N][3];
int d[N],sz[N],dfn[N];
vector <int> l[N];
vector <pii> e[N];
vector <int> E[N],Q[N];
char buf[1<<21],*p1,*p2;
int MIN(int x,int y){return x<y?x:y;}
int MAX(int x,int y){return x>y?x:y;}
int read()
{
int sum=0;
char c=Getchar();
while(!(c>='0'&&c<='9')) c=Getchar();
while(c>='0'&&c<='9') sum=sum*10+c-'0',c=Getchar();
return sum;
}
namespace BBD
{
int vis1[N],vis2[N];
vector <pii> e[N];
void dfs(int x)
{
if(vis1[x]) return;
vis1[x]=1,Q[tot].push_back(x);
for(pii i:e[x])
{
if(!vis2[i.se]) vis2[i.se]=1,E[tot].push_back(i.se);
dfs(i.fi);
}
}
bool main()
{
for(int i=1;i<=n;i++) vis2[i]=0;
for(int i=1;i<=m;i++) vis1[i]=0,e[i].clear();
for(int i=1;i<=n;i++) if(!c[i])
{
e[b[i][1]].push_back(MP(b[i][2],i));
e[b[i][2]].push_back(MP(b[i][1],i));
}
for(int i=1;i<=m;i++) if(!v[i]&&!vis1[i])
{
tot++,dfs(i);
if(SZ(E[tot])>SZ(Q[tot])) return false;
tp[tot]=(SZ(Q[tot])>SZ(E[tot]));
}
return true;
}
}
namespace LS
{
int vis[N];
int BBD[N];
vector <int> V,E;
void dfs(int x)
{
vis[x]=1,V.push_back(x);
for(pii i:e[x]) if(L[i.fi]&&!vis[i.fi])
{E.push_back(i.se),dfs(i.fi);return;}
}
int solve(int x)
{
V.clear(),E.clear();
for(int i:Q[x]) vis[i]=0;
for(int i:(::E[x])) if(L[b[i][1]]&&L[b[i][2]]) BBD[i]=0;
for(int i:Q[x]) if(L[i]){dfs(i);break;}
for(int i:E) BBD[i]=1;
for(int i:(::E[x])) if(L[b[i][1]]&&L[b[i][2]]&&!BBD[i]) E.push_back(i);
int c1=0,c2=0,c3=0;
for(int i=0;i<SZ(E);i++)
{
int x=V[i],y=V[(i+1)%SZ(E)];
int fl1=0,fl2=0;
for(int k=1;k<=A[E[i]];k++) if(a[E[i]][k]==x) fl1=1;
for(int k=1;k<=A[E[i]];k++) if(a[E[i]][k]==y) fl2=1;
if(fl1&&!fl2) c1++;
if(!fl1&&fl2) c2++;
if(fl1&&fl2) c3++;
}
if(c1>c2) swap(c1,c2);
if(c1+c3<=c2) return c1+c3;
return c2+(c3-(c2-c1))/2;
}
}
namespace seg
{
int l[N*4],r[N*4];
int mn[N*4],tag[N*4];
void push_up(int x){mn[x]=MIN(mn[x*2],mn[x*2+1]);}
void push_down(int x)
{
if(!tag[x]) return;
mn[x*2]+=tag[x],mn[x*2+1]+=tag[x];
tag[x*2]+=tag[x],tag[x*2+1]+=tag[x],tag[x]=0;
}
void build(int id,int ll,int rr)
{
l[id]=ll,r[id]=rr,mn[id]=tag[id]=0;
if(ll==rr) return;int mid=(ll+rr)/2;
build(id*2,ll,mid),build(id*2+1,mid+1,rr);
}
void upd(int id,int ll,int rr,int k)
{
if(ll>rr) return;
if(l[id]>=ll&&r[id]<=rr){mn[id]+=k,tag[id]+=k;return;}
push_down(id);
if(r[id*2]>=ll) upd(id*2,ll,rr,k);
if(l[id*2+1]<=rr) upd(id*2+1,ll,rr,k);
push_up(id);
}
int query(int id,int ll,int rr)
{
if(l[id]>=ll&&r[id]<=rr) return mn[id];
push_down(id);int ans=N;
if(r[id*2]>=ll) ans=MIN(ans,query(id*2,ll,rr));
if(l[id*2+1]<=rr) ans=MIN(ans,query(id*2+1,ll,rr));
return ans;
}
}
void dfs(int x,int fa)
{
dfn[x]=++cnt,sz[x]=1;
for(pii i:e[x]) if(i.fi!=fa)
d[i.fi]=d[x]+1,dfs(i.fi,x),sz[x]+=sz[i.fi];
}
void DFS(int x,int fa)
{
mx=MAX(mx,al+seg::mn[1]);
for(pii i:e[x]) if(i.fi!=fa)
{
if(!ck[i.se]) al--,seg::upd(1,dfn[i.fi],dfn[i.fi]+sz[i.fi]-1,2);
DFS(i.fi,x);
if(!ck[i.se]) al++,seg::upd(1,dfn[i.fi],dfn[i.fi]+sz[i.fi]-1,-2);
}
}
int main()
{
T=read();
while(T--)
{
int ans=0;n=read(),m=read();
for(int i=1;i<=n;i++) c[i]=ck[i]=0;
for(int i=1;i<=m;i++) v[i]=deg[i]=L[i]=0,l[i].clear(),e[i].clear();
for(int i=1;i<=tot;i++) Q[i].clear(),E[i].clear();tot=0;
for(int i=1;i<=n;i++)
{
A[i]=read();
for(int j=1;j<=A[i];j++) a[i][j]=read();
}
for(int i=1;i<=n;i++)
{
B[i]=read();
for(int j=1;j<=B[i];j++) b[i][j]=read();
for(int j=1;j<=B[i];j++) l[b[i][j]].push_back(i);
}
queue <int> q;int fl=1;
for(int i=1;i<=n;i++) if(B[i]==1)
{
if(v[b[i][1]]) fl=0;
c[i]=b[i][1],q.push(b[i][1]),v[b[i][1]]=1;
}
while(q.size())
{
int x=q.front();q.pop();
for(int i:l[x]) if(!c[i])
{
int p=0;
for(int k=1;k<=B[i];k++) if(!v[b[i][k]]) p=b[i][k];
if(!p) fl=0;
c[i]=p,v[p]=1,q.push(p);
}
}
if(!fl||!BBD::main()){puts("-1");continue;}
for(int i=1;i<=n;i++) if(!c[i])
{
e[b[i][1]].push_back(MP(b[i][2],i));
e[b[i][2]].push_back(MP(b[i][1],i));
}
for(int i=1;i<=tot;i++) if(!tp[i])
{
queue <int> q;
for(int k:E[i]) deg[b[k][1]]++,deg[b[k][2]]++;
for(int k:Q[i]) if(deg[k]==1) q.push(k);
while(q.size())
{
int x=q.front();q.pop();
for(pii k:e[x]) if((--deg[k.fi])==1) q.push(k.fi);
}
for(int k:Q[i]) if(deg[k]>1) L[k]=1;
for(int k:E[i]) if(L[b[k][1]]+L[b[k][2]]==1)
{
if(!L[b[k][1]]) c[k]=b[k][1],q.push(b[k][1]),L[b[k][1]]=1;
else c[k]=b[k][2],q.push(b[k][2]),L[b[k][2]]=1;
}
while(q.size())
{
int x=q.front();q.pop();
for(pii k:e[x]) if(!L[k.fi]) c[k.se]=k.fi,L[k.fi]=1,q.push(k.fi);
}
for(int k:Q[i]) L[k]=0;
for(int k:Q[i]) if(deg[k]>1) L[k]=1;
ans+=LS::solve(i);
}
for(int i=1;i<=n;i++) if(c[i])
for(int k=1;k<=A[i];k++) if(a[i][k]==c[i]){ans++;break;}
for(int i=1;i<=tot;i++) if(tp[i])
{
seg::build(1,1,SZ(Q[i]));
d[Q[i][0]]=cnt=0,dfs(Q[i][0],0),mx=al=0;
for(int k:E[i])
{
int fl1=0,fl2=0;
for(int j=1;j<=A[k];j++)
fl1|=(a[k][j]==b[k][1]),fl2|=(a[k][j]==b[k][2]);
if(!(fl1&&fl2)) ck[k]=1;
if(!fl1&&!fl2) continue;
if(fl1&&!fl2)
{
if(d[b[k][1]]>d[b[k][2]])
al++,seg::upd(1,dfn[b[k][1]],dfn[b[k][1]]+sz[b[k][1]]-1,-1);
else seg::upd(1,dfn[b[k][2]],dfn[b[k][2]]+sz[b[k][2]]-1,1);
}
if(fl2&&!fl1)
{
if(d[b[k][2]]>d[b[k][1]])
al++,seg::upd(1,dfn[b[k][2]],dfn[b[k][2]]+sz[b[k][2]]-1,-1);
else seg::upd(1,dfn[b[k][1]],dfn[b[k][1]]+sz[b[k][1]]-1,1);
}
if(fl1&&fl2)
{
if(d[b[k][1]]>d[b[k][2]])
al++,seg::upd(1,dfn[b[k][1]],dfn[b[k][1]]+sz[b[k][1]]-1,-1);
else al++,seg::upd(1,dfn[b[k][2]],dfn[b[k][2]]+sz[b[k][2]]-1,-1);
}
}
DFS(Q[i][0],0),ans+=mx;
}
printf("%d\n",ans);
}
return 0;
}
详细
Test #1:
score: 4
Accepted
time: 20ms
memory: 120948kb
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: 30ms
memory: 120892kb
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: 20ms
memory: 120848kb
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: 13ms
memory: 120920kb
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: 24ms
memory: 120852kb
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: 34ms
memory: 121180kb
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: 33ms
memory: 121144kb
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: 27ms
memory: 120992kb
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: 23ms
memory: 120976kb
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: 12ms
memory: 120988kb
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: 23ms
memory: 121044kb
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: 46ms
memory: 123276kb
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: 56ms
memory: 123300kb
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: 169ms
memory: 153960kb
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: 96ms
memory: 161820kb
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: 102ms
memory: 161720kb
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: 245ms
memory: 154612kb
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: 226ms
memory: 156236kb
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: 186ms
memory: 148580kb
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: 195ms
memory: 149288kb
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: 223ms
memory: 155792kb
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: 191ms
memory: 155896kb
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: 2493ms
memory: 347212kb
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: 2578ms
memory: 348668kb
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: 2185ms
memory: 348196kb
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