#include "koala.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<vi> vii;
typedef pair<int,int> pi;
typedef vector<pi> pii;
typedef tuple<ll,ll,ll> ti;
typedef vector<ll> li;
typedef vector<li> lii;
#define REP(i,a,b) for(int i=a;i<b;i++)
#define F first
#define S second
#define PB push_back
#define LSOne(s) ((s)&(-s))
ll INF=1000000000000000010;
int inf=1e9+10;
ll M=1e9+7;
int minValue(int N, int W) {
int a[100],b[100];
REP(i,1,100)a[i]=0;
a[0]=1;
playRound(a,b);
int ans=0;
REP(i,1,100)if(b[i]==0)ans=i;
return ans;
}
int maxValue(int N, int W) {
int a[100],b[100];
REP(i,0,100)a[i]=1;
playRound(a,b);
memset(a,0,sizeof(a));
REP(i,0,100)if(b[i]==2)a[i]=2;
playRound(a,b);
memset(a,0,sizeof(a));
REP(i,0,100)if(b[i]==3)a[i]=4;
playRound(a,b);
memset(a,0,sizeof(a));
REP(i,0,100)if(b[i]==5)a[i]=11;
playRound(a,b);
REP(i,0,100)if(b[i]==12)return i;
return 0;
}
int greaterValue(int N, int W) {
int a[100],b[100];
int l=1,r=9;
while(l!=r){
int m=(l+r)/2;
memset(a,0,sizeof(a));
a[0]=m;a[1]=m;
playRound(a,b);
if(b[0]>b[1])return 0;
if(b[0]<b[1])return 1;
if(b[0]>m)l=m+1;
else r=m-1;
}
a[0]=l;a[1]=l;
playRound(a,b);
if(b[0]>b[1])return 0;
if(b[0]<b[1])return 1;
return 0;
}
vi arr;
bool higher(int x,int y){
int a[100],b[100];
memset(a,0,sizeof(a));
a[arr[x]]=100;a[arr[y]]=100;
playRound(a,b);
return b[arr[x]]<b[arr[y]];
}
void st(int l,int r){
if(l==r)return;
int m=(l+r)/2;
st(l,m);
st(m+1,r);
vi b(arr.begin()+l,arr.begin()+r+1);
int pos=0,t=l;
REP(i,m+1,r+1){
while(l<=m&&higher(l,i)){
b[pos]=arr[l];
pos++;l++;
}
b[pos]=arr[i];
pos++;
}
REP(i,l,m+1){
b[pos]=arr[i];
pos++;
}
REP(i,t,r+1)arr[i]=b[i-t];
}
void allValues(int N, int W, int *P) {
if (W == 2*N) {
arr.resize(N);
REP(i,0,N)arr[i]=i;
st(0,N-1);
REP(i,0,N)P[arr[i]]=i+1;
}
else {
// TODO: Implement Subtask 5 solution here.
// You may leave this block unmodified if you are not attempting this
// subtask.
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |