#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
//code
#define show(x,y) cout << y << " " << #x << endl;
#define show2(x,y,i,j) cout << y << " " << #x << " " << j << " " << #i << endl;
#define show3(x,y,i,j,p,q) cout << y << " " << #x << " " << j << " " << #i << " " << q << " " << #p << endl;
#define show4(x,y) for(auto it:y) cout << it << " "; cout << #x << endl;
typedef pair<long long,long long>pii;
typedef pair<int,pii>pi2;
//isSubsequence()
vector<int> findSequence(int n){
int half=n/2;
vector<int>v;
for(int x=0;x<half+1;x++){
v.push_back(0);
}
bool hold=isSubsequence(v);
int flip=0;
if(hold){
flip=1;
}
//flip = 1 means 1 is minority
//flip = 0 means 0 is minority
v.clear();
while(isSubsequence(v)){
v.push_back(0^flip);
}
v.pop_back();
//zero is the minority
vector<int>ans;
int cnt=v.size();
int l=0; //cnt zero to the left
//show(flip,flip);
for(int x=0;x<n;x++){
//put 1
vector<int>temp;
for(int y=0;y<x-l;y++){
temp.push_back(1^flip);
}
temp.push_back(1^flip);
for(int y=0;y<cnt;y++){
temp.push_back(0^flip);
}
//put 0
vector<int>temp2;
for(int y=0;y<l;y++){
temp2.push_back(0^flip);
}
temp2.push_back(0^flip);
//show(n-x-cnt+1,n-x-cnt+1);
for(int y=0;y<n-x-cnt;y++){
temp2.push_back(1^flip);
}
//show(x,x);
//show4(temp,temp);
//show4(temp2,temp2);
if((int)temp.size()<=half+1){
bool amos=isSubsequence(temp);
if(amos){
ans.push_back(1^flip);
}
else{
ans.push_back(0^flip);
cnt--;
l++;
}
}
else{
bool amos=isSubsequence(temp2);
if(amos){
ans.push_back(0^flip);
cnt--;
l++;
}
else{
ans.push_back(1^flip);
}
}
}
return ans;
}
//code
Compilation message
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
grader.cpp:29:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
29 | for (int i=0; i<ans.size () && i < N; i++)
| ~^~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
344 KB |
Output is correct: Maximum length of a query = 5 |
2 |
Correct |
1 ms |
344 KB |
Output is correct: Maximum length of a query = 6 |
3 |
Correct |
1 ms |
344 KB |
Output is correct: Maximum length of a query = 5 |
4 |
Correct |
0 ms |
596 KB |
Output is correct: Maximum length of a query = 5 |
5 |
Correct |
1 ms |
344 KB |
Output is correct: Maximum length of a query = 4 |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2 ms |
436 KB |
Output is correct: Maximum length of a query = 83 |
2 |
Correct |
3 ms |
432 KB |
Output is correct: Maximum length of a query = 90 |
3 |
Correct |
3 ms |
436 KB |
Output is correct: Maximum length of a query = 96 |
4 |
Correct |
2 ms |
600 KB |
Output is correct: Maximum length of a query = 77 |
5 |
Correct |
3 ms |
440 KB |
Output is correct: Maximum length of a query = 95 |
6 |
Correct |
2 ms |
436 KB |
Output is correct: Maximum length of a query = 87 |
7 |
Correct |
3 ms |
436 KB |
Output is correct: Maximum length of a query = 97 |
8 |
Correct |
2 ms |
696 KB |
Output is correct: Maximum length of a query = 83 |
9 |
Correct |
3 ms |
436 KB |
Output is correct: Maximum length of a query = 101 |
10 |
Correct |
3 ms |
700 KB |
Output is correct: Maximum length of a query = 100 |
11 |
Correct |
3 ms |
432 KB |
Output is correct: Maximum length of a query = 96 |
12 |
Correct |
3 ms |
692 KB |
Output is correct: Maximum length of a query = 100 |
13 |
Correct |
3 ms |
432 KB |
Output is correct: Maximum length of a query = 101 |