답안 #988338

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
988338 2024-05-24T14:13:47 Z fanwen Zagrade (COI20_zagrade) C++17
컴파일 오류
0 ms 0 KB
#include <bits/stdc++.h>
// #include <ext/pb_ds/assoc_container.hpp>
// #include <ext/pb_ds/tree_policy.hpp>

using namespace std;
// using namespace __gnu_pbds;

#define fi first
#define se second
#define REP(i, n) for (auto i = 0; i < (n); ++i)
#define FOR(i, a, b) for (auto i = (a); i <= (b); ++i)
#define FORD(i, a, b) for (auto i = (a); i >= (b); --i)
#define FORE(i, a, b) for (auto i = (a); i < (b); ++i)
#define MASK(x) (1LL << (x))
#define BIT(x, i) (((x) >> (i)) & 1)
#define ALL(x) (x).begin(), (x).end()
#define left ___left 
#define right ___right 
#define __builtin_popcount __builtin_popcountll

const int MAX = 1e5 + 5; 

int n, q, a[MAX];

int ask (int l, int r) {
    cout << "? " << l << " " << r << endl;
    int x; cin >> x; return x; 
}

void you_make_it(void) {
    cin >> n >> q; 
    deque <int> dq; 
    fill(a + 1, a + n + 1);
    for (int i = 1; i <= n; ++i) {
        if(i > 1 and !dq.emtpy()) {
            if(ask(dq.back(), i)) {
                a[dq.back()] = 0;
                a[i] = 1;
                dq.pop_back();
            } else {
                dq.push_back(i);
            }
        } else {
            dq.push_back(i);
        }
    }

    for (int i = 0; i < dq.size() / 2; ++i) {
        a[i] = 1;
        a[dq[dq.size() - i - 1]] = 0;
    }
    cout << "! ";
    for (int i = 1; i <= n; ++i) {
        assert(a[i] != -1);
        cout << (a[i] ? "(" : ")");
    }
}

signed main() {

#ifdef LOCAL
    freopen("TASK.inp", "r", stdin);
    freopen("TASK.out", "w", stdout);
#endif // LOCAL
    auto start_time = chrono::high_resolution_clock::now();

    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

    int test = 1;
    // cin >> test;

    for (int i = 0; i < test; ++i) {
        you_make_it();
        // cout << '\n';
    }
    auto end_time = chrono::high_resolution_clock::now();

    cerr << "\nExecution time : " << chrono::duration_cast <chrono::milliseconds> (end_time - start_time).count() << "[ms]" << endl;
    return (0 ^ 0);
}

// Dream it. Wish it. Do it.

Compilation message

zagrade.cpp: In function 'void you_make_it()':
zagrade.cpp:33:26: error: no matching function for call to 'fill(int*, int*)'
   33 |     fill(a + 1, a + n + 1);
      |                          ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from zagrade.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:937:5: note: candidate: 'template<class _ForwardIterator, class _Tp> void std::fill(_ForwardIterator, _ForwardIterator, const _Tp&)'
  937 |     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
      |     ^~~~
/usr/include/c++/10/bits/stl_algobase.h:937:5: note:   template argument deduction/substitution failed:
zagrade.cpp:33:26: note:   candidate expects 3 arguments, 2 provided
   33 |     fill(a + 1, a + n + 1);
      |                          ^
In file included from /usr/include/c++/10/vector:68,
                 from /usr/include/c++/10/functional:62,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from zagrade.cpp:1:
/usr/include/c++/10/bits/stl_bvector.h:434:3: note: candidate: 'void std::fill(std::_Bit_iterator, std::_Bit_iterator, const bool&)'
  434 |   fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x)
      |   ^~~~
/usr/include/c++/10/bits/stl_bvector.h:434:3: note:   candidate expects 3 arguments, 2 provided
In file included from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from zagrade.cpp:1:
/usr/include/c++/10/pstl/glue_algorithm_defs.h:191:1: note: candidate: 'template<class _ExecutionPolicy, class _ForwardIterator, class _Tp> __pstl::__internal::__enable_if_execution_policy<_ExecutionPolicy, void> std::fill(_ExecutionPolicy&&, _ForwardIterator, _ForwardIterator, const _Tp&)'
  191 | fill(_ExecutionPolicy&& __exec, _ForwardIterator __first, _ForwardIterator __last, const _Tp& __value);
      | ^~~~
/usr/include/c++/10/pstl/glue_algorithm_defs.h:191:1: note:   template argument deduction/substitution failed:
zagrade.cpp:33:26: note:   candidate expects 4 arguments, 2 provided
   33 |     fill(a + 1, a + n + 1);
      |                          ^
zagrade.cpp:35:26: error: 'class std::deque<int>' has no member named 'emtpy'; did you mean 'empty'?
   35 |         if(i > 1 and !dq.emtpy()) {
      |                          ^~~~~
      |                          empty
zagrade.cpp:48:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::deque<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   48 |     for (int i = 0; i < dq.size() / 2; ++i) {
      |                     ~~^~~~~~~~~~~~~~~