QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#785807 | #9570. Binary Tree | Godwang | AC ✓ | 282ms | 16952kb | C++23 | 8.0kb | 2024-11-26 19:16:48 | 2024-11-26 19:16:48 |
Judging History
answer
#include <iostream>
using namespace std;
#include <set>
#include <algorithm>
#include <cmath>
#include <map>
#include <cstdio>
#include <string>
#include <cstring>
#include <string.h>
#include <stdlib.h>
#include <iomanip>
#include <fstream>
#include <stdio.h>
#include <stack>
#include <queue>
#include <ctype.h>
#include <vector>
#include <random>
#include<list>
#define ll long long
#define ull unsigned long long
#define pb push_back
#define rep(i, a, n) for (int i = a; i <= n; i++)
#define per(i, a, n) for (int i = n; i >= a; i--)
#define pii pair<int, int>
#define pli pair<ll, int>
#define pil pair<int, ll>
#define pll pair<ll, ll>
#define lowbit(x) ((x)&(-x))
ll extend_gcd(ll a, ll b, ll &x, ll &y)
{
if (b == 0)
{
x = 1;
y = 0;
return a;
}
ll d = extend_gcd(b, a % b, y, x);
y -= a / b * x;
return d;
}
ll fastpow(ll a, ll n, ll mod)
{
ll ans = 1;
a %= mod;
while (n)
{
if (n & 1)
ans = (ans * a) % mod; //% mod
a = (a * a) % mod; //% mod
n >>= 1;
}
return ans;
}
inline void write(__int128 x)
{
if (x > 9)
{
write(x / 10);
}
putchar(x % 10 + '0');
}
__int128 sqrt(__int128 m)
{
__int128 leftt = 0, rightt = ((__int128)1) << 51, ret = -1, mid;
while (leftt < rightt)
{
mid = (leftt + rightt) / 2;
if (mid * mid > m)
{
rightt = mid;
}
else
{
leftt = mid + 1;
ret = mid;
}
}
return ret;
}
const double eps = 1e-6;
int sgn(double x)
{
if(fabs(x)<eps)
{
return 0;
}
else return x<0?-1:1;
}
struct Point
{
double x,y;
Point()
{
}
Point(double x,double y):x(x),y(y)
{
}
Point operator + (Point B)
{
return Point(x+B.x,y+B.y);
}
Point operator - (Point B)
{
return Point(x-B.x,y-B.y);
}
bool operator == (Point B)
{
return sgn(x-B.x)==0&&sgn(y-B.y)==0;
}
bool operator < (Point B)
{
return sgn(x-B.x)<0||(sgn(x-B.x)==0&&sgn(y-B.y)<0);
}
};
typedef Point Vector;
double Cross(Vector A,Vector B)//叉积
{
return A.x*B.y-A.y*B.x;
}
double Distance(Point A,Point B)
{
return hypot(A.x-B.x,A.y-B.y);
}
int Convex_hull(Point *p,int n,Point *ch)
{
n=unique(p,p+n)-p;
sort(p,p+n);
int v=0;
for(int i=0;i<n;i++)
{
while (v>1&&sgn(Cross(ch[v-1]-ch[v-2],p[i]-ch[v-1]))<=0)
{
v--;
}
ch[v++]=p[i];
}
int j=v;
for(int i=n-2;i>=0;i--)
{
while (v>j&&sgn(Cross(ch[v-1]-ch[v-2],p[i]-ch[v-1]))<=0)
{
v--;
}
ch[v++]=p[i];
}
if(n>1)
{
v--;
}
return v;
}
int kmp(string s, string p)
{
int ans = 0, lastt = -1;
int lenp = p.size();
vector<int > Next(lenp+3,0);
rep(i, 1, lenp - 1)
{
int j = Next[i];
while (j && p[j] != p[i])
{
j = Next[j];
}
if (p[j] == p[i])
{
Next[i + 1] = j + 1;
}
else
{
Next[i + 1] = 0;
}
}
int lens = s.size();
int j = 0;
rep(i, 0, lens - 1)
{
while (j && s[i] != p[j])
{
j = Next[j];
}
if (s[i] == p[j])
{
j++;
}
if (j == lenp)
{
ans++;
}
}
return ans;
}
int dir[4][2] =
{
{-1, 0}, {0, 1}, {1, 0}, {0, -1}}; // 左右上下
// int dir[8][2]={
// {-1, 0}, {0, 1}, {1, 0}, {0, -1},{-1,-1},{-1,1},{1,-1},{1,1}
// };
//#define endl '\n'//交互题请删除本行
const ll inf = 1000000000000000000ll;
const ll mod1 = 998244353ll, P1 = 131, mod2 = 1e9 + 7ll, P2 = 13331;
ll inverse(ll x)
{
return fastpow(x,mod1-2,mod1);
}
const int N = 2e5 + 10, M = 1e6 + 10;
///////////////////////////////////
int tt;
int n;
bool vis[N];
vector<int > v[N];
int d[N],ans,maxnum;
int numpoint;
int zishu[N];
///////////////////////////////////
void init_vis()
{
maxnum=1e9;
fill(vis+1,vis+n+1,0);
}
int query(int x,int y)
{
cout<<"? "<<x<<" "<<y<<endl;
int ret;
cin>>ret;
return ret;
}
void print(int x)
{
cout<<"! "<<x<<endl;
}
void dfs(int u)
{
d[u]=1;
vis[u]=1;
int tmp=0;
for(auto i:v[u])
{
if(vis[i])
{
continue;
}
dfs(i);
d[u]+=d[i];
tmp=max(tmp,d[i]);
}
tmp=max(tmp,numpoint-d[u]);
zishu[u]=tmp;
//
//cout<<"dian"<<u<<" "<<tmp<<endl;
if(tmp<maxnum)
{
maxnum=tmp;
ans=u;
}
}
void predfs(int u)
{
vis[u]=1;
numpoint++;
for(auto i:v[u])
{
if(vis[i])
{
continue;
}
predfs(i);
}
}
bool cmp(int x,int y)
{
return zishu[x]<zishu[y];
}
///////////////////////////////////
void init()
{
rep(i,1,n)
{
v[i].clear();
}
}
///////////////////////////////////
int main()
{
//ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);//交互题请删除本行
//freopen("ain.txt", "r", stdin); freopen("aout.txt", "w", stdout);
cin>>tt;
rep(ttt,1,tt)
{
cin>>n;
init();
rep(i,1,n)
{
int x,y;
cin>>x>>y;
if(x)
{
v[x].pb(i);
v[i].pb(x);
}
if(y)
{
v[y].pb(i);
v[i].pb(y);
}
}
int point=1;
while(1)
{
init_vis();
numpoint=0;
predfs(point);
//
// cout<<"dianshu"<<numpoint<<endl;
init_vis();
dfs(point);
// cout<<point<<" "<<ans<<endl;
// cout<<endl;
//
if(v[ans].size()==0)
{
print(ans);
break;
}
if(v[ans].size()==1)
{
int ret=query(ans,v[ans][0]);
if(ret==0)
{
print(ans);
}
else
{
print(v[ans][0]);
}
break;
}
sort(v[ans].begin(),v[ans].end(),cmp);
// for(auto i:v[ans])
// {
// cout<<zishu[i]<<" ";
// }
// cout<<endl;
//
int ret=query(v[ans][0],v[ans][1]);
if(ret==0)
{
point=v[ans][0];
vector<int > vtemp;
for(auto i:v[point])
{
if(i!=ans)
{
vtemp.pb(i);
}
}
v[point]=vtemp;
}
else if(ret==1)
{
point=ans;
int x=v[ans][0],y=v[ans][1];
vector<int > vtemp;
for(auto i:v[point])
{
if(i!=x&&i!=y)
{
vtemp.pb(i);
}
}
v[point]=vtemp;
}
else
{
point=v[ans][1];
vector<int > vtemp;
for(auto i:v[point])
{
if(i!=ans)
{
vtemp.pb(i);
}
}
v[point]=vtemp;
}
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3616kb
input:
2 5 0 0 1 5 2 4 0 0 0 0 1 0 2 0 2 0 0 2
output:
? 3 1 ? 5 2 ! 5 ? 2 1 ! 1
result:
ok OK (2 test cases)
Test #2:
score: 0
Accepted
time: 107ms
memory: 4204kb
input:
5555 8 2 0 8 6 0 0 3 0 0 0 7 0 0 0 5 4 0 0 2 8 0 0 1 4 2 0 0 0 7 8 0 0 3 0 6 0 0 1 0 8 5 8 0 0 1 7 0 0 0 0 4 2 0 0 6 0 0 0 2 5 4 5 3 1 0 0 0 0 0 0 0 2 8 0 0 0 0 5 6 0 0 1 4 2 0 3 8 0 0 0 0 5 3 0 5 1 0 0 0 0 4 0 0 2 5 5 0 0 0 0 0 3 0 2 4 0 0 3 3 0 1 0 0 0 2 2 2 0 0 0 0 3 2 3 0 0 0 0 2 10 2 8 9 7 0 0 ...
output:
? 2 4 ? 2 7 ? 1 2 ! 2 ? 3 5 ? 1 4 ? 3 2 ! 3 ? 1 6 ? 1 7 ? 5 1 ! 1 ? 2 4 ? 3 2 ! 2 ? 5 6 ? 1 4 ! 1 ? 5 1 ? 4 5 ! 5 ? 4 1 ? 3 4 ! 3 ? 3 2 ! 2 ? 2 1 ! 2 ? 2 3 ! 3 ? 2 6 ? 1 9 ? 10 9 ! 9 ? 2 1 ! 2 ? 5 9 ? 4 8 ? 5 3 ! 5 ? 5 8 ? 7 1 ? 5 3 ! 5 ? 9 3 ? 1 7 ? 9 2 ! 9 ? 2 1 ! 1 ? 4 3 ? 1 7 ! 7 ? 4 9 ? 2 3 ? 4...
result:
ok OK (5555 test cases)
Test #3:
score: 0
Accepted
time: 68ms
memory: 3592kb
input:
600 2 2 0 0 0 2 3 2 0 3 0 0 0 2 4 4 0 1 0 0 0 3 0 0 0 5 4 0 0 0 1 0 2 0 3 0 2 0 6 4 0 6 0 2 0 5 0 0 0 1 0 0 0 7 7 0 3 0 6 0 5 0 2 0 1 0 0 0 0 1 8 7 0 0 0 2 0 8 0 1 0 5 0 3 0 6 0 0 0 0 9 7 0 4 0 2 0 1 0 0 0 8 0 9 0 5 0 6 0 2 0 2 10 9 0 6 0 8 0 7 0 0 0 10 0 2 0 4 0 5 0 1 0 0 0 2 11 2 0 10 0 6 0 9 0 0 ...
output:
? 2 1 ! 1 ? 1 3 ! 3 ? 1 3 ? 2 1 ! 2 ? 4 3 ? 5 3 ! 5 ? 1 2 ? 1 5 ! 1 ? 2 6 ? 4 2 ! 5 ? 1 6 ? 7 2 ? 1 7 ! 1 ? 1 9 ? 6 5 ? 9 6 ! 6 ? 6 7 ? 9 10 ? 5 9 ! 9 ? 2 9 ? 8 4 ? 9 4 ! 4 ? 9 2 ? 3 12 ? 3 9 ! 3 ? 2 3 ? 13 6 ? 2 13 ! 9 ? 4 13 ? 1 6 ? 4 1 ! 1 ? 2 14 ? 15 8 ? 8 13 ! 13 ? 1 15 ? 16 11 ? 6 1 ? 16 6 ! 1...
result:
ok OK (600 test cases)
Test #4:
score: 0
Accepted
time: 192ms
memory: 16952kb
input:
2 99999 21832 0 77205 0 62668 0 58313 0 14640 0 76941 0 62678 0 8464 0 43145 0 26195 0 46140 0 83205 0 40047 0 81645 0 27077 0 92036 0 14236 0 3576 0 15430 0 75654 0 29049 0 62218 0 83318 0 1116 0 77861 0 9755 0 49236 0 70959 0 62295 0 33580 0 88208 0 55840 0 71061 0 24695 0 88831 0 1891 0 57285 0 9...
output:
? 70790 43991 ? 36882 98065 ? 17626 87676 ? 23816 44703 ? 44123 980 ? 42969 10068 ? 81398 27281 ? 9070 98746 ? 13903 34508 ? 25653 70641 ? 11149 72092 ? 76080 73559 ? 98775 52279 ? 98440 96117 ? 48463 67541 ? 98440 48463 ! 48463 ? 44110 46352 ? 63067 47168 ? 38328 51576 ? 75910 60860 ? 42451 28720 ?...
result:
ok OK (2 test cases)
Test #5:
score: 0
Accepted
time: 108ms
memory: 10412kb
input:
15 3 0 0 1 0 2 0 1 7 6 0 3 0 5 0 0 0 7 0 4 0 1 0 2 2 15 6 0 5 0 1 0 7 0 14 0 11 0 15 0 12 0 2 0 4 0 9 0 13 0 0 0 8 0 3 0 0 0 0 31 3 0 31 0 17 0 23 0 4 0 13 0 1 0 12 0 6 0 0 0 20 0 26 0 14 0 29 0 8 0 25 0 21 0 19 0 5 0 15 0 18 0 10 0 22 0 7 0 28 0 2 0 24 0 30 0 27 0 9 0 16 0 2 0 0 2 63 15 0 62 0 5 0 ...
output:
? 1 3 ! 2 ? 5 1 ? 1 4 ! 4 ? 6 9 ? 7 3 ? 7 10 ! 7 ? 13 29 ? 17 18 ? 1 24 ? 1 17 ! 17 ? 37 8 ? 30 14 ? 55 56 ? 22 19 ? 19 56 ! 31 ? 36 89 ? 96 110 ? 20 79 ? 62 106 ? 82 86 ? 61 82 ! 82 ? 64 233 ? 148 51 ? 1 176 ? 126 78 ? 251 252 ? 200 224 ? 176 200 ! 176 ? 439 48 ? 144 457 ? 376 142 ? 193 427 ? 173 2...
result:
ok OK (15 test cases)
Test #6:
score: 0
Accepted
time: 97ms
memory: 10416kb
input:
16 2 2 0 0 0 2 4 4 0 3 0 1 0 0 0 0 0 8 5 0 0 0 4 0 8 0 2 0 3 0 6 0 1 0 0 0 2 16 2 0 5 0 1 0 11 0 13 0 14 0 8 0 6 0 0 0 4 0 3 0 7 0 15 0 10 0 16 0 9 0 0 0 0 0 32 15 0 0 0 14 0 18 0 26 0 17 0 25 0 27 0 6 0 9 0 4 0 13 0 23 0 30 0 32 0 12 0 11 0 31 0 28 0 3 0 19 0 10 0 22 0 7 0 5 0 29 0 24 0 20 0 21 0 1...
output:
? 2 1 ! 1 ? 1 2 ? 4 1 ! 4 ? 8 3 ? 1 2 ? 8 1 ! 1 ? 3 4 ? 5 15 ? 2 3 ? 5 2 ! 5 ? 12 30 ? 17 4 ? 10 23 ? 9 17 ? 10 9 ! 9 ? 60 3 ? 41 49 ? 37 31 ? 40 35 ? 62 37 ? 40 62 ! 40 ? 57 124 ? 48 58 ? 69 39 ? 31 37 ? 76 125 ? 14 31 ? 76 14 ! 76 ? 90 113 ? 91 222 ? 57 148 ? 68 231 ? 255 112 ? 135 81 ? 251 255 ? ...
result:
ok OK (16 test cases)
Test #7:
score: 0
Accepted
time: 112ms
memory: 10772kb
input:
15 2 2 0 0 0 2 6 5 0 1 0 6 0 2 0 3 0 0 0 0 2 14 12 0 0 0 11 0 5 0 7 0 1 0 8 0 10 0 14 0 13 0 6 0 9 0 2 0 4 0 0 0 1 30 10 0 29 0 23 0 28 0 9 0 14 0 2 0 30 0 19 0 0 0 15 0 1 0 22 0 8 0 18 0 27 0 7 0 24 0 26 0 3 0 20 0 25 0 6 0 17 0 4 0 12 0 21 0 16 0 13 0 5 0 0 0 0 2 62 24 0 22 0 18 0 17 0 49 0 53 0 3...
output:
? 2 1 ! 1 ? 1 3 ? 1 4 ! 4 ? 14 5 ? 12 6 ? 14 12 ! 9 ? 21 16 ? 8 5 ? 3 6 ? 3 21 ! 21 ? 60 10 ? 9 2 ? 36 34 ? 24 47 ? 47 9 ! 52 ? 70 84 ? 90 37 ? 75 99 ? 3 105 ? 42 123 ? 105 123 ! 105 ? 159 204 ? 47 235 ? 109 158 ? 46 171 ? 140 131 ? 78 195 ? 46 195 ! 195 ? 359 209 ? 137 139 ? 71 459 ? 289 474 ? 183 ...
result:
ok OK (15 test cases)
Test #8:
score: 0
Accepted
time: 56ms
memory: 3616kb
input:
600 2 2 0 0 0 2 3 3 2 0 0 0 0 2 4 3 0 0 0 0 0 1 2 0 0 5 0 0 3 1 4 5 0 0 0 0 1 0 6 3 5 1 4 0 0 6 0 0 0 0 0 0 0 7 3 7 0 0 0 0 2 5 0 0 1 4 0 0 0 1 8 0 0 3 7 1 0 2 5 6 8 0 0 0 0 0 0 0 0 0 9 9 8 0 0 7 2 0 0 0 0 0 0 0 0 4 5 3 6 0 1 2 10 3 6 8 0 4 2 5 7 0 0 10 9 0 0 0 0 0 0 0 0 0 1 2 11 0 0 4 9 5 8 6 3 0 0...
output:
? 2 1 ! 1 ? 3 2 ! 2 ? 1 2 ? 3 1 ! 3 ? 2 4 ? 5 3 ! 5 ? 1 4 ? 3 5 ! 3 ? 1 4 ? 3 7 ! 1 ? 2 5 ? 2 1 ? 7 2 ! 7 ? 1 3 ? 1 4 ? 5 8 ! 8 ? 1 4 ? 1 10 ? 9 6 ! 6 ? 2 6 ? 2 10 ? 11 9 ! 9 ? 1 11 ? 4 1 ? 8 7 ! 7 ? 13 7 ? 12 6 ? 11 13 ! 12 ? 14 5 ? 3 8 ? 1 9 ! 1 ? 8 14 ? 4 9 ? 15 10 ! 10 ? 15 7 ? 15 14 ? 1 3 ? 15 ...
result:
ok OK (600 test cases)
Test #9:
score: 0
Accepted
time: 143ms
memory: 9904kb
input:
2 99999 0 0 7999 97267 75750 37659 0 0 0 0 33761 92098 90707 18838 13602 27569 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14586 86647 1519 23132 0 0 3430 14643 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47066 36968 95308 38482 34100 25297 0 0 0 0 0 0 0 0 88902 58991 0 0 0 0 66315 68538 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0...
output:
? 50379 69076 ? 79924 11838 ? 18079 15463 ? 72017 29994 ? 80147 27856 ? 80763 26264 ? 39876 84186 ? 73287 34615 ? 43462 43070 ? 38721 85806 ? 84940 93114 ? 3443 79116 ? 49016 68555 ? 56289 87545 ? 32426 3887 ! 3887 ? 72481 78976 ? 96633 84675 ? 2124 81852 ? 13836 79494 ? 80643 24965 ? 38932 5573 ? 5...
result:
ok OK (2 test cases)
Test #10:
score: 0
Accepted
time: 95ms
memory: 7672kb
input:
15 3 3 2 0 0 0 0 1 7 0 0 3 6 0 0 7 2 0 0 0 0 5 1 2 2 15 14 12 0 0 0 0 0 0 8 6 10 11 0 0 3 7 2 4 0 0 0 0 0 0 15 5 0 0 9 1 0 0 0 31 4 9 0 0 29 17 0 0 0 0 15 31 5 21 18 14 0 0 0 0 0 0 16 2 12 7 0 0 23 10 0 0 30 13 0 0 24 27 11 26 0 0 0 0 0 0 0 0 19 20 0 0 0 0 0 0 6 25 8 1 28 22 2 0 0 2 63 53 48 40 57 0...
output:
? 3 2 ! 1 ? 7 2 ? 3 6 ! 6 ? 15 5 ? 9 1 ? 2 4 ! 2 ? 29 17 ? 30 13 ? 8 1 ? 18 14 ! 14 ? 1 2 ? 53 48 ? 63 19 ? 30 56 ? 55 59 ! 56 ? 20 115 ? 71 68 ? 67 3 ? 18 16 ? 123 55 ? 117 104 ! 104 ? 70 140 ? 78 250 ? 223 4 ? 220 204 ? 67 144 ? 75 15 ? 242 199 ! 242 ? 60 121 ? 414 74 ? 99 184 ? 301 403 ? 425 477 ...
result:
ok OK (15 test cases)
Test #11:
score: 0
Accepted
time: 96ms
memory: 7844kb
input:
16 2 0 0 1 0 2 4 4 2 0 0 0 0 3 0 0 0 8 3 0 0 0 0 0 0 0 1 2 0 0 6 4 5 7 0 0 2 16 16 15 0 0 0 0 0 0 7 11 8 10 0 0 13 0 0 0 0 0 0 0 3 9 0 0 4 2 5 14 6 12 0 0 1 32 0 0 22 21 25 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 10 30 0 1 24 12 31 0 0 0 0 16 8 3 15 11 26 23 14 28 20 6 9 0 0 13 27 0 0 0 0 7 17 0 0 0 0 ...
output:
? 2 1 ! 1 ? 1 3 ? 2 1 ! 2 ? 5 7 ? 5 3 ? 2 5 ! 5 ? 1 6 ? 5 14 ? 7 11 ! 5 ? 32 3 ? 22 21 ? 28 20 ? 7 17 ! 17 ? 37 58 ? 19 40 ? 63 55 ? 5 50 ? 52 13 ! 50 ? 92 13 ? 92 57 ? 80 102 ? 22 52 ? 127 125 ? 87 40 ! 125 ? 245 3 ? 245 223 ? 150 131 ? 193 34 ? 164 71 ? 230 148 ? 213 212 ! 212 ? 39 511 ? 39 289 ? ...
result:
ok OK (16 test cases)
Test #12:
score: 0
Accepted
time: 88ms
memory: 7844kb
input:
15 2 0 0 1 0 2 6 6 4 1 5 0 0 0 0 3 0 0 0 0 2 14 0 0 1 7 5 11 13 9 0 0 2 8 0 0 10 0 0 0 0 0 0 0 14 6 0 0 3 4 0 0 2 30 7 0 5 13 0 0 0 0 14 30 15 20 0 0 0 0 3 19 0 0 0 0 11 21 9 1 16 24 0 0 0 0 28 2 8 10 0 0 0 0 0 0 0 0 18 6 0 0 4 29 12 25 0 0 23 26 0 0 27 22 0 0 0 0 62 0 0 0 0 28 47 7 38 0 0 0 0 17 26...
output:
? 2 1 ! 1 ? 1 5 ? 6 4 ! 4 ? 12 3 ? 2 8 ? 1 7 ! 7 ? 17 23 ? 5 13 ? 14 30 ? 16 24 ! 16 ? 16 57 ? 36 43 ? 12 4 ? 7 38 ? 17 26 ! 26 ? 125 53 ? 17 123 ? 15 5 ? 52 12 ? 88 96 ? 54 30 ! 30 ? 241 42 ? 112 193 ? 88 124 ? 17 30 ? 154 233 ? 186 72 ? 189 243 ! 186 ? 284 376 ? 30 32 ? 98 159 ? 249 71 ? 192 92 ? ...
result:
ok OK (15 test cases)
Test #13:
score: 0
Accepted
time: 68ms
memory: 3820kb
input:
600 2 0 0 1 0 2 3 0 0 1 3 0 0 2 4 2 4 0 0 0 0 3 0 0 0 5 2 5 0 0 0 0 0 0 4 3 1 0 6 6 4 0 0 0 0 3 0 2 1 0 0 0 0 7 0 0 0 0 2 4 5 6 0 0 0 0 1 3 0 1 8 2 7 0 0 6 0 0 0 8 3 0 0 4 5 0 0 0 0 0 9 5 2 0 0 7 4 6 8 0 0 0 0 0 0 9 1 0 0 0 0 2 10 3 5 10 7 0 0 0 0 6 2 0 0 4 0 9 1 0 0 0 0 2 0 0 11 9 6 4 1 0 0 0 0 11 ...
output:
? 2 1 ! 1 ? 1 3 ! 3 ? 1 3 ? 2 1 ! 2 ? 1 4 ? 3 5 ! 3 ? 4 5 ? 3 4 ! 3 ? 4 7 ? 5 6 ! 4 ? 7 3 ? 7 2 ? 4 7 ! 4 ? 4 1 ? 4 7 ? 6 4 ! 4 ? 1 2 ? 2 4 ? 10 2 ! 10 ? 10 1 ? 10 11 ? 8 5 ! 5 ? 4 7 ? 8 4 ? 5 4 ! 5 ? 2 4 ? 12 2 ? 7 12 ! 12 ? 8 12 ? 10 8 ? 5 8 ! 8 ? 14 9 ? 1 14 ? 11 15 ! 15 ? 1 6 ? 15 16 ? 15 14 ? 1...
result:
ok OK (600 test cases)
Test #14:
score: 0
Accepted
time: 163ms
memory: 13892kb
input:
2 99999 96748 53986 34197 77552 29863 63559 79099 26449 45078 1051 0 0 27416 4135 0 0 38606 81189 93892 68603 48776 185 79602 18311 51243 83678 89044 40032 28883 35663 0 0 0 0 21603 15821 0 0 51448 75971 70275 8326 0 0 0 0 57049 72937 3297 94939 0 0 59258 39159 3205 34675 54876 24769 0 0 0 0 0 0 851...
output:
? 71188 96970 ? 87538 6820 ? 59029 32876 ? 46360 20365 ? 49372 9490 ? 51870 93805 ? 74496 96975 ? 90932 266 ? 99552 77780 ? 12293 24315 ? 92277 15485 ? 37634 645 ? 22336 24891 ? 61213 80836 ? 61213 22336 ? 86145 22336 ! 86145 ? 50499 6749 ? 17715 75012 ? 31421 58179 ? 64768 20076 ? 64370 98628 ? 660...
result:
ok OK (2 test cases)
Test #15:
score: 0
Accepted
time: 101ms
memory: 9108kb
input:
15 3 0 0 1 3 0 0 1 7 0 0 1 7 0 0 6 2 3 4 0 0 0 0 0 1 15 2 11 0 0 13 1 12 14 0 0 0 0 5 8 10 4 0 0 0 0 0 0 0 0 0 0 6 15 9 3 0 0 1 31 24 22 0 0 31 6 0 0 4 3 11 19 0 0 0 0 28 21 25 20 0 0 0 0 0 0 2 16 0 0 27 18 8 10 15 17 26 1 23 29 7 5 12 14 0 0 0 0 0 0 0 0 0 0 0 0 30 13 0 0 0 0 0 0 0 0 63 51 35 33 57 ...
output:
? 1 3 ! 2 ? 2 5 ? 1 7 ! 2 ? 15 4 ? 1 15 ? 2 11 ! 1 ? 14 1 ? 10 18 ? 29 10 ? 30 13 ! 30 ? 38 44 ? 42 1 ? 2 9 ? 34 2 ? 5 23 ! 23 ? 51 31 ? 96 62 ? 100 8 ? 52 89 ? 82 52 ? 70 57 ! 70 ? 124 122 ? 162 102 ? 84 231 ? 110 135 ? 147 223 ? 236 147 ? 201 80 ! 80 ? 322 266 ? 146 414 ? 72 335 ? 66 306 ? 89 76 ?...
result:
ok OK (15 test cases)
Test #16:
score: 0
Accepted
time: 98ms
memory: 9352kb
input:
16 2 0 0 1 0 2 4 0 0 1 0 4 2 0 0 0 0 8 0 0 0 0 0 0 3 5 8 6 2 0 1 4 0 0 0 0 2 16 0 0 7 8 0 0 1 2 0 0 0 0 0 0 5 10 3 0 12 16 14 13 0 0 15 4 0 0 0 0 6 9 0 0 0 0 32 26 17 5 31 28 25 18 7 0 0 0 0 14 12 15 0 22 4 0 0 29 1 19 2 0 0 0 0 0 0 6 8 10 21 0 0 0 0 0 0 13 3 0 0 0 0 0 0 32 30 0 0 20 9 0 0 0 0 23 16...
output:
? 2 1 ! 1 ? 2 4 ? 1 2 ! 1 ? 4 6 ? 4 1 ? 3 4 ! 4 ? 2 10 ? 4 11 ? 4 7 ? 1 4 ! 1 ? 1 31 ? 3 30 ? 21 1 ? 21 28 ? 13 21 ! 21 ? 56 43 ? 19 25 ? 55 36 ? 51 19 ? 51 50 ? 21 51 ! 21 ? 38 43 ? 17 53 ? 117 69 ? 113 45 ? 123 117 ? 123 109 ? 102 123 ! 102 ? 133 170 ? 75 121 ? 14 197 ? 1 90 ? 3 103 ? 95 1 ? 95 40...
result:
ok OK (16 test cases)
Test #17:
score: 0
Accepted
time: 93ms
memory: 9648kb
input:
15 2 0 0 1 0 2 6 0 0 5 0 1 2 0 0 0 0 4 3 2 0 14 8 14 0 0 0 0 0 0 0 0 12 11 10 0 0 0 2 7 0 0 4 1 0 0 3 6 5 9 2 0 0 30 29 21 6 9 0 0 0 0 0 0 0 0 0 0 19 17 24 30 0 0 14 26 23 0 0 0 0 0 25 18 0 0 7 20 16 12 0 0 13 11 28 8 10 15 0 0 0 0 0 0 3 22 5 2 0 0 0 0 4 1 0 2 0 2 62 0 0 34 33 0 0 0 0 0 0 37 45 0 0 ...
output:
? 2 1 ! 1 ? 2 6 ? 4 6 ! 4 ? 14 11 ? 11 13 ? 4 11 ! 4 ? 8 20 ? 9 1 ? 1 8 ? 29 1 ! 1 ? 42 59 ? 12 31 ? 19 40 ? 12 40 ? 47 40 ! 40 ? 40 17 ? 11 102 ? 27 88 ? 3 93 ? 93 27 ? 89 93 ! 93 ? 90 189 ? 158 221 ? 198 132 ? 32 240 ? 4 49 ? 49 240 ? 1 49 ! 1 ? 60 192 ? 29 303 ? 190 312 ? 241 495 ? 35 402 ? 71 20...
result:
ok OK (15 test cases)
Test #18:
score: 0
Accepted
time: 158ms
memory: 9964kb
input:
2 99999 0 0 88119 0 72740 0 6901 19702 0 0 10620 84889 0 0 9552 63972 45156 60768 9152 72379 0 0 59875 97207 48193 0 17282 54916 65927 27713 80083 15817 36966 75381 0 0 77279 56298 0 0 11554 61779 0 0 89976 0 65282 42151 95206 62876 97329 86772 0 0 0 0 0 0 11820 0 0 0 20432 0 50520 39907 0 0 46948 1...
output:
? 52174 35226 ? 26122 16093 ? 11494 10853 ? 11494 91694 ? 90037 73088 ? 90037 21572 ? 51091 91442 ? 7067 93596 ? 75096 14316 ? 75096 55875 ? 42793 41734 ? 59747 42793 ? 472 67072 ? 59747 64770 ! 92650 ? 80592 36933 ? 50906 68004 ? 73367 65219 ? 20489 33796 ? 74041 19704 ? 35779 74041 ? 35779 85560 ?...
result:
ok OK (2 test cases)
Test #19:
score: 0
Accepted
time: 282ms
memory: 3552kb
input:
100000 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 2 2 0 0 0 1 2 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 0 2 0 0 0 1 2 2 0 0 0 1 0 2 0 0...
output:
? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 2 ? 2 1 ! 2 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ? 2 1 ! 1 ...
result:
ok OK (100000 test cases)
Extra Test:
score: 0
Extra Test Passed