Submission #410864

#TimeUsernameProblemLanguageResultExecution timeMemory
410864nichkeHidden Sequence (info1cup18_hidden)C++14
10 / 100
5 ms296 KiB
#include <bits/stdc++.h> #include <grader.h> using namespace std; bool isSubsequence(vector<int> vi); vector<int> findSequence(int N) { int c1 = 0; for (int i = 1; i <= N / 2; i++) { vector<int> vi; for (int j = 0; j < i; j++) { vi.push_back(1); } if (isSubsequence(vi)) { c1++; } else { break; } } int c0 = 0; for (int i = 1; i <= N / 2; i++) { vector<int> vi; for (int j = 0; j < i; j++) { vi.push_back(0); } if (isSubsequence(vi)) { c0++; } else { break; } } if (c0 * 2 != N) { c1 = N - c0; } else if (c1 * 2 != N) { c0 = N - c1; } if (c1 >= c0) { vector<int> ans; while (c1) { int c0 = 0; for (int i = 1; i <= N; i++) { vector<int> vi = ans; for (int j = 0; j < i; j++) vi.push_back(0); for (int j = 0; j < c1; j++) { vi.push_back(1); } if (vi.size() > N) break; if (isSubsequence(vi)) { c0++; } else { break; } } for (int j = 0; j < c0; j++) { ans.push_back(0); } ans.push_back(1); c1--; } while (ans.size() < N) ans.push_back(0); return ans; } else { vector<int> ans; while (c0) { int c1 = 0; for (int i = 1; i <= N; i++) { vector<int> vi = ans; for (int j = 0; j < i; j++) vi.push_back(1); for (int j = 0; j < c0; j++) { vi.push_back(0); } if (vi.size() > N) break; if (isSubsequence(vi)) { c1++; } else { break; } } for (int j = 0; j < c1; j++) { ans.push_back(1); } ans.push_back(0); c0--; } while (ans.size() < N) ans.push_back(1); return ans; } }

Compilation message (stderr)

hidden.cpp: In function 'std::vector<int> findSequence(int)':
hidden.cpp:47:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   47 |    if (vi.size() > N) break;
      |        ~~~~~~~~~~^~~
hidden.cpp:60:20: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   60 |  while (ans.size() < N) ans.push_back(0);
      |         ~~~~~~~~~~~^~~
hidden.cpp:72:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   72 |    if (vi.size() > N) break;
      |        ~~~~~~~~~~^~~
hidden.cpp:85:20: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   85 |  while (ans.size() < N) ans.push_back(1);
      |         ~~~~~~~~~~~^~~
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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...