# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
973691 | 2024-05-02T09:40:05 Z | penguin133 | Hidden Sequence (info1cup18_hidden) | C++17 | 3 ms | 440 KB |
#include <bits/stdc++.h> using namespace std; #include "grader.h" //#define int long long #define pi pair<int, int> #define pii pair<int, pi> #define fi first #define se second #ifdef _WIN32 #define getchar_unlocked _getchar_nolock #endif mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); vector < int > findSequence (int N) { vector <int> x; for(int i = 0; i < N / 2 + 1; i++)x.push_back(0); if(isSubsequence(x)){ int ones = 0; while(1){ x.clear(); for(int i = 0; i < ones + 1; i++)x.push_back(1); if(isSubsequence(x))ones++; else break; } vector <int> ans; int num0 = 0, num1 = 0, f = 0; x.clear(); for(int i = 0; i < N / 2 + 1 - ones; i++)x.push_back(1); for(int i = 0; i < ones; i++)x.push_back(0); if(isSubsequence(x)){ int zrs = 0; while(1){ vector <int> qry; qry.push_back(1); for(int i = 0; i < zrs + 1; i++)qry.push_back(0); if(isSubsequence(qry))zrs++; else break; } for(int i = 0; i < N - ones - zrs; i++)ans.push_back(0); ans.push_back(1); f = 1; num0 += N - ones - zrs; num1++; } for(int i = f; i < ones; i++){ int zrs = 0; while(1){ vector <int> qry; for(int j = 0; j < num1; j++)qry.push_back(1); for(int j = 0; j < zrs + 1; j++)qry.push_back(0); for(int j = 0; j < ones - i; j++)qry.push_back(1); //if(qry.size() > N)break; if(qry.size() > N / 2 + 3){ qry.clear(); for(int j = 0; j < num0; j++)qry.push_back(0); qry.push_back(1); qry.push_back(0); qry.push_back(1); //if(!isSubsequence(qry))break; int tot = N - ones - num0 - (zrs + 1); if(tot < 0){ zrs--; break; } for(int j = 0; j < tot; j++)qry.push_back(0); if(!isSubsequence(qry))zrs++; else { zrs++; break; } } else if(isSubsequence(qry))zrs++; else break; } for(int j = 0; j < zrs; j++)ans.push_back(0); ans.push_back(1); num0 += zrs; num1 += 1; } while(ans.size() < N)ans.push_back(0); return ans; } else{ int ones = 0; while(1){ x.clear(); for(int i = 0; i < ones + 1; i++)x.push_back(0); if(isSubsequence(x))ones++; else break; } vector <int> ans; int num0 = 0, num1 = 0, f = 0; x.clear(); for(int i = 0; i < N / 2 + 1 - ones; i++)x.push_back(1); for(int i = 0; i < ones; i++)x.push_back(0); if(isSubsequence(x)){ int zrs = 0; while(1){ vector <int> qry; qry.push_back(0); for(int i = 0; i < zrs + 1; i++)qry.push_back(1); if(isSubsequence(qry))zrs++; else break; } for(int i = 0; i < N - ones - zrs; i++)ans.push_back(1); ans.push_back(0); f = 1; num0++; num1 += N - ones - zrs; } for(int i = f; i < ones; i++){ int zrs = 0; while(1){ vector <int> qry; for(int j = 0; j < num0; j++)qry.push_back(0); for(int j = 0; j < zrs + 1; j++)qry.push_back(1); for(int j = 0; j < ones - i; j++)qry.push_back(0); //if(qry.size() > N)break; if(qry.size() > N / 2 + 3){ qry.clear(); for(int j = 0; j < num1; j++)qry.push_back(1); qry.push_back(0); qry.push_back(1); qry.push_back(0); //if(!isSubsequence(qry))break; int tot = N - ones - num1 - (zrs + 1); cout << tot << ' ' << zrs << '\n'; if(tot < 0){ zrs--; break; } for(int j = 0; j < tot; j++)qry.push_back(1); if(!isSubsequence(qry))zrs++; else { zrs++; break; } } else if(isSubsequence(qry))zrs++; else break; } for(int j = 0; j < zrs; j++)ans.push_back(1); ans.push_back(0); num0++; num1 += zrs; } while(ans.size() < N)ans.push_back(1); return ans; } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Partially correct | 0 ms | 344 KB | Output is partially correct: Maximum length of a query = 7 |
2 | Partially correct | 0 ms | 344 KB | Output is partially correct: Maximum length of a query = 8 |
3 | Partially correct | 0 ms | 344 KB | Output is partially correct: Maximum length of a query = 7 |
4 | Correct | 0 ms | 344 KB | Output is correct: Maximum length of a query = 5 |
5 | Partially correct | 0 ms | 344 KB | Output is partially correct: Maximum length of a query = 6 |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 440 KB | Output is not correct: The length of the returned sequence is not N |
2 | Halted | 0 ms | 0 KB | - |