Submission #401617

#TimeUsernameProblemLanguageResultExecution timeMemory
401617VictorHidden Sequence (info1cup18_hidden)C++17
Compilation error
0 ms0 KiB
#include "hiddensequence.h" #include <bits/stdc++.h> using namespace std; #define rep(i, a, b) for (int i = a; i < (b); ++i) #define per(i, a, b) for (int i = b - 1; i >= (a); --i) #define trav(a, x) for (auto &a : x) #define all(x) x.begin(), x.end() #define sz(x) x.size() #define pb push_back #define umap unordered_map #define uset unordered_set typedef pair<int, int> ii; typedef pair<int, ii> iii; typedef vector<int> vi; typedef vector<ii> vii; typedef vector<vi> vvi; typedef long long ll; const int INF = 1000000007; vector<int> findSequence(int n) { vector<int> ans(n, -1); vi subseq; int left[2], taken[2]; taken[0] = taken[1] = 0; int zeros, ones, len = n / 2 + 1, small = 0, big = 1; zeros = -1; rep(i, 1, len + 1) { subseq.pb(0); if (!isSubsequence(subseq)) { zeros = i - 1; break; } } if (zeros == -1) { subseq.clear(); rep(i, 1, len + 1) { subseq.pb(1); if (!isSubsequence(subseq)) { ones = i - 1; break; } } zeros = n - ones; swap(small, big); } else ones = n - zeros; per(i, 0, n) { vi query; int add; query.clear(); rep(j, 0, left[big]) query.pb(big); rep(j, 0, taken[small] + 1) query.pb(small); if (sz(query) <= len) { if (isSubsequence(query)) add = small; else add = big; } else { query.clear(); rep(j, 0, left[small]) query.pb(small); rep(j, 0, taken[big] + 1) query.pb(big); if (isSubsequence(query)) add = big; else add = small; } --left[add]; ++taken[add]; subseq.insert(subseq.begin(), add); ans[i] = add; } return ans; } /* static int maxQ = 0; static vector<int> theRealAnswer; bool isSubsequence(vector<int> v) { if (v.size() > maxQ) maxQ = v.size(); int i = 0; for (auto it : v) { while (i < theRealAnswer.size() && it != theRealAnswer[i]) i++; if (i == theRealAnswer.size()) return 0; i++; } return 1; } int main() { int n, x; scanf("%d", &n), maxQ = 0; for (int i = 1; i <= n; i++) scanf("%d", &x), theRealAnswer.push_back(x); vector<int> ans = findSequence(n); if (ans.size() != theRealAnswer.size()) { printf("Different lengths\n"); for (auto it : ans) printf("%d ", it); printf("\n"); return 0; } for (int i = 0; i < ans.size(); i++) if (ans[i] != theRealAnswer[i]) { printf("WA position %d\n", i + 1); for (auto it : ans) printf("%d ", it); printf("\n"); return 0; } printf("Ok, biggest queried length %d\n", maxQ); return 0; }*/

Compilation message (stderr)

hidden.cpp:1:10: fatal error: hiddensequence.h: No such file or directory
    1 | #include "hiddensequence.h"
      |          ^~~~~~~~~~~~~~~~~~
compilation terminated.
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++)
      |                   ~^~~~~~~~~~~~