제출 #1236835

#제출 시각아이디문제언어결과실행 시간메모리
1236835SolikhaHidden Sequence (info1cup18_hidden)C++20
59 / 100
3 ms424 KiB
#include "bits/stdc++.h" #include "grader.h" #define pb push_back #define all(a) a.begin(), a.end() using namespace std; vector < int > findSequence (int n) { vector<int> v; for(int i = 0; i < n / 2; i++){ v.pb(0); if(isSubsequence(v) == 0){ v.pop_back(); break; } } if(v.size() == n / 2){ v.clear(); v.pb(1); while(isSubsequence(v) == 1) v.pb(1); v.pop_back(); } int k = v.size(); int x = 1 - v[0]; // ? lar using pii = pair<int, int>; priority_queue<pii, vector<pii>, greater<pii>> pq; vector<int> cnt(k + 1); for(int i = 0; i <= k; i++) pq.emplace(0, i); auto make_r = [&](int id) -> vector<int>{ vector<int> vi(id, 1 - x); for(int i = 0; i < cnt[id]; i++) vi.pb(x); for(int i = id + 1; i <= k; i++) vi.pb(1 - x); return vi; }; while(!pq.empty()){ auto [c, id] = pq.top(); pq.pop(); if(pq.empty()){ int sum = accumulate(all(cnt), 0ll); cnt[id] = n - sum - k + c; break; } cnt[id]++; if(isSubsequence(make_r(id)) == 0) cnt[id]--; else pq.emplace(cnt[id], id); } v.clear(); for(int i = 0; i <= k; i ++){ for(int j = 0; j < cnt[i]; j++) v.pb(x); if(i < k) v.pb(1 - x); } return v; }

컴파일 시 표준 에러 (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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...