#include "grader.h"
//#include "grader.cpp"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define f first
#define s second
#define all(x) x.begin(),x.end()
#define _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
vector < int > findSequence (int n)
{
auto ask=[&](int a,int b,int c,int v){
vector<int> vec;
for(int i=0;i<a;i++){
vec.push_back(v);
}
for(int i=0;i<b;i++){
vec.push_back(v^1);
}
for(int i=0;i<c;i++){
vec.push_back(v);
}
return isSubsequence(vec);
};
int zero=0;
int one=0;
while(zero<=(n+1)/2){
if(ask(zero,0,0,0)){
zero++;
}
else{
zero--;
break;
}
}
bool iszero=true;
if(zero<=(n+1)/2){
one=n-zero;
}
else{
while(one<=(n+1)/2){
if(ask(0,one,0,0)){
one++;
}
else{
one--;
break;
}
}
one=min(one,(n+1)/2);
zero=n-one;
iszero=false;
}
vector<int> res;
if(iszero){
vector<int> cnt(zero+1);
for(int i=0;i<=zero;i++){
int cur=0;
while(zero+cur<=(3*n/4)+1){
if(ask(i,cur,zero-i,0)){
cur++;
}
else{
cur--;
break;
}
}
if(zero+cur<=(3*n/4)+1){
cnt[i]=cur;
}
else{
cnt[i]=-1;
}
}
int sum=0;
for(int i=0;i<=zero;i++){
if(cnt[i]!=-1) sum+=cnt[i];
}
for(int i=0;i<=zero;i++){
if(cnt[i]==-1){
cnt[i]=one-sum;
}
}
for(int i=0;i<=zero;i++){
for(int j=0;j<cnt[i];j++){
res.push_back(1);
}
if(i<zero) res.push_back(0);
}
}
else{
vector<int> cnt(one+1);
for(int i=0;i<=one;i++){
int cur=0;
while(one+cur<=(3*n/4)+1){
if(ask(i,cur,one-i,1)){
cur++;
}
else{
cur--;
break;
}
}
if(one+cur<=(3*n/4)+1){
cnt[i]=cur;
}
else{
cnt[i]=-1;
}
}
int sum=0;
for(int i=0;i<=one;i++){
if(cnt[i]!=-1) sum+=cnt[i];
}
for(int i=0;i<=one;i++){
if(cnt[i]==-1){
cnt[i]=zero-sum;
}
}
for(int i=0;i<=one;i++){
for(int j=0;j<cnt[i];j++){
res.push_back(0);
}
if(i<one) res.push_back(1);
}
}
return res;
}
컴파일 시 표준 에러 (stderr) 메시지
grader.cpp: In function 'int main()':
grader.cpp:28:26: warning: format '%d' expects argument of type 'int', but argument 3 has type 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wformat=]
28 | fprintf (fifo_out, "%d\n", ans.size ());
| ~^ ~~~~~~~~~~~
| | |
| int std::vector<int>::size_type {aka long unsigned int}
| %ld
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |