#include "bits/stdc++.h"
#include "grader.h"
int query(vector<int> v);
typedef long long ll;
#define pb push_back
vector<int>v,a[5],h,l;
ll f[307];
void solve(int n){
for(int i=1;i<=n;i++){
v.pb(i);
}
for(int i=0;i<1000000;i++){
ll x=(rand())%n;
ll y=(rand())%n;
swap(v[x],v[y]);
}
ll x=query(v);
if(x==n)return ;
for(int i=1;i<n;i++){
swap(v[0],v[i]);
ll y=query(v);
a[y-x+2].pb(i);
swap(v[0],v[i]);
}
if(a[2].size()==0 && a[3].size()==0 && a[4].size()==0){
f[0]=1;
for(auto it:a[0]){
f[it]=1;
}
}else{
for(auto it:a[1]){
f[it]=1;
}
if(a[4].size()==1){
swap(v[0],v[a[4][0]]);
f[0]=1;
f[a[4][0]]=1;
x+=2;
}else{
swap(v[0],v[a[3][0]]);
swap(v[0],v[a[3][1]]);
ll y=query(v);
if(y==n)return ;
if(y-x==2){
f[0]=1;
f[a[3][0]]=1;
x=y;
}else if(y-x==3){
f[0]=1;
f[a[3][0]]=1;
f[a[3][1]]=1;
x=y;
}else{
swap(v[0],v[a[3][1]]);
swap(v[0],v[a[3][0]]);
swap(v[0],v[a[3][1]]);
swap(v[0],v[a[3][0]]);
y=query(v);
if(y==n)return ;
if(y-x==2){
f[0]=1;
f[a[3][1]]=1;
x=y;
}else if(y-x==3){
f[0]=1;
f[a[3][0]]=1;
f[a[3][1]]=1;
x=y;
}
}
}
}
h.pb(0);
while(h.size()>0){
h.clear();
for(int i=0;i<n;i++){
if(f[i]==0){
h.pb(i);
//cout<<i<<" ";
}
}
for(int i=1;i<h.size();i++){
swap(v[h[i-1]],v[h[i]]);
}
if(h.size()!=2)swap(v[h[0]],v[h[h.size()-1]]);
ll y=query(v);
ll y1=y;
if(y==n)return ;
if(x!=y){
for(auto i:h){
swap(v[0],v[i]);
ll z=query(v);
if(z-y==-2){
f[i]=1;
y1--;
}
swap(v[0],v[i]);
if(y1==x)break;
}
}
x=y;
}
return ;
}
Compilation message
mouse.cpp: In function 'void solve(int)':
mouse.cpp:91:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
91 | for(int i=1;i<h.size();i++){
| ~^~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
27 ms |
296 KB |
Correct! Number of queries: 14 |
2 |
Correct |
28 ms |
208 KB |
Correct! Number of queries: 6 |
3 |
Correct |
28 ms |
208 KB |
Correct! Number of queries: 14 |
4 |
Correct |
28 ms |
292 KB |
Correct! Number of queries: 12 |
5 |
Correct |
27 ms |
208 KB |
Correct! Number of queries: 17 |
6 |
Correct |
27 ms |
208 KB |
Correct! Number of queries: 15 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
27 ms |
296 KB |
Correct! Number of queries: 14 |
2 |
Correct |
28 ms |
208 KB |
Correct! Number of queries: 6 |
3 |
Correct |
28 ms |
208 KB |
Correct! Number of queries: 14 |
4 |
Correct |
28 ms |
292 KB |
Correct! Number of queries: 12 |
5 |
Correct |
27 ms |
208 KB |
Correct! Number of queries: 17 |
6 |
Correct |
27 ms |
208 KB |
Correct! Number of queries: 15 |
7 |
Correct |
33 ms |
276 KB |
Correct! Number of queries: 500 |
8 |
Correct |
35 ms |
208 KB |
Correct! Number of queries: 500 |
9 |
Correct |
31 ms |
208 KB |
Correct! Number of queries: 500 |
10 |
Correct |
33 ms |
208 KB |
Correct! Number of queries: 600 |
11 |
Correct |
31 ms |
276 KB |
Correct! Number of queries: 300 |
12 |
Correct |
36 ms |
208 KB |
Correct! Number of queries: 500 |
13 |
Correct |
30 ms |
300 KB |
Correct! Number of queries: 300 |
14 |
Correct |
32 ms |
208 KB |
Correct! Number of queries: 500 |
15 |
Correct |
31 ms |
300 KB |
Correct! Number of queries: 600 |
16 |
Correct |
29 ms |
208 KB |
Correct! Number of queries: 500 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
27 ms |
296 KB |
Correct! Number of queries: 14 |
2 |
Correct |
28 ms |
208 KB |
Correct! Number of queries: 6 |
3 |
Correct |
28 ms |
208 KB |
Correct! Number of queries: 14 |
4 |
Correct |
28 ms |
292 KB |
Correct! Number of queries: 12 |
5 |
Correct |
27 ms |
208 KB |
Correct! Number of queries: 17 |
6 |
Correct |
27 ms |
208 KB |
Correct! Number of queries: 15 |
7 |
Correct |
33 ms |
276 KB |
Correct! Number of queries: 500 |
8 |
Correct |
35 ms |
208 KB |
Correct! Number of queries: 500 |
9 |
Correct |
31 ms |
208 KB |
Correct! Number of queries: 500 |
10 |
Correct |
33 ms |
208 KB |
Correct! Number of queries: 600 |
11 |
Correct |
31 ms |
276 KB |
Correct! Number of queries: 300 |
12 |
Correct |
36 ms |
208 KB |
Correct! Number of queries: 500 |
13 |
Correct |
30 ms |
300 KB |
Correct! Number of queries: 300 |
14 |
Correct |
32 ms |
208 KB |
Correct! Number of queries: 500 |
15 |
Correct |
31 ms |
300 KB |
Correct! Number of queries: 600 |
16 |
Correct |
29 ms |
208 KB |
Correct! Number of queries: 500 |
17 |
Runtime error |
154 ms |
284 KB |
Execution killed with signal 13 |
18 |
Halted |
0 ms |
0 KB |
- |