답안 #718816

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
718816 2023-04-05T00:10:02 Z Hacv16 Broken Device (JOI17_broken_device) C++17
컴파일 오류
0 ms 0 KB
#include "Annalib.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

void Anna(int N, ll X, int K, int P[]){
    vector<bool> blocked(N);

    for(int i = 0; i < K; i++){
        int curBit = P[i];
        blocked[curBit] = true;
    }

    int numFree = 0;

    for(int i = 0; i < N; i++){
        if(!blocked[i]){ numFree++; continue; }

        if(numFree % 2) blocked[i - 1] = true;
        blocked[i] = true; numFree = 0;
    }

    vector<int> goodPos;

    for(int i = 0; i < N; i++){
        if(blocked[i]) Set(i, 0);
        else goodPos.push_back(i);
    }

    for(int i = 0, j = 0; i < goodPos.size(); i += 2, j++){
        int pos1 = goodPos[i], pos2 = goodPos[i + 1];
        set(pos1, 1); set(pos2, (bool)((1 << j) & X));
    }
}
#include "Brunolib.h"
#include <bits/stdc++.h>

typedef long long ll;

ll Bruno(int N, int A[]){
  ll ans = 0;

  for(int i = 0, j = 0; i < N; i += 2){
    if(A[i] == 0) continue;
    ans |= (A[i + 1] << j); j++;
  }

  return ans;
}

Compilation message

Anna.cpp: In function 'void Anna(int, ll, int, int*)':
Anna.cpp:31:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |     for(int i = 0, j = 0; i < goodPos.size(); i += 2, j++){
      |                           ~~^~~~~~~~~~~~~~~~
Anna.cpp:33:20: error: class template argument deduction failed:
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
Anna.cpp:33:20: error: no matching function for call to 'set(int&, int)'
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:271:2: note: candidate: 'template<class _Key, class _Compare, class _Alloc, class _InputIterator> set(_InputIterator, _InputIterator, const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  271 |  set(_InputIterator __first, _InputIterator __last,
      |  ^~~
/usr/include/c++/10/bits/stl_set.h:271:2: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   candidate expects 3 arguments, 2 provided
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:265:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::initializer_list<_Tp>, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  265 |       set(initializer_list<value_type> __l, const allocator_type& __a)
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:265:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:259:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::set<_Key, _Compare, _Alloc>&&, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  259 |       set(set&& __x, const allocator_type& __a)
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:259:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'std::set<_Key, _Compare, _Alloc>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:255:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const std::set<_Key, _Compare, _Alloc>&, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  255 |       set(const set& __x, const allocator_type& __a)
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:255:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'const std::set<_Key, _Compare, _Alloc>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:251:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  251 |       set(const allocator_type& __a)
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:251:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   candidate expects 1 argument, 2 provided
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:243:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::initializer_list<_Tp>, const _Compare&, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  243 |       set(initializer_list<value_type> __l,
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:243:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:231:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::set<_Key, _Compare, _Alloc>&&)-> std::set<_Key, _Compare, _Alloc>'
  231 |       set(set&&) = default;
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:231:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'std::set<_Key, _Compare, _Alloc>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:223:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const std::set<_Key, _Compare, _Alloc>&)-> std::set<_Key, _Compare, _Alloc>'
  223 |       set(const set&) = default;
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:223:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'const std::set<_Key, _Compare, _Alloc>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:208:2: note: candidate: 'template<class _Key, class _Compare, class _Alloc, class _InputIterator> set(_InputIterator, _InputIterator, const _Compare&, const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  208 |  set(_InputIterator __first, _InputIterator __last,
      |  ^~~
/usr/include/c++/10/bits/stl_set.h:208:2: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   candidate expects 4 arguments, 2 provided
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:191:2: note: candidate: 'template<class _Key, class _Compare, class _Alloc, class _InputIterator> set(_InputIterator, _InputIterator)-> std::set<_Key, _Compare, _Alloc>'
  191 |  set(_InputIterator __first, _InputIterator __last)
      |  ^~~
/usr/include/c++/10/bits/stl_set.h:191:2: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   couldn't deduce template parameter '_Key'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:176:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const _Compare&, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  176 |       set(const _Compare& __comp,
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:176:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   couldn't deduce template parameter '_Key'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:167:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set()-> std::set<_Key, _Compare, _Alloc>'
  167 |       set() = default;
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:167:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   candidate expects 0 arguments, 2 provided
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:94:11: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::set<_Key, _Compare, _Alloc>)-> std::set<_Key, _Compare, _Alloc>'
   94 |     class set
      |           ^~~
/usr/include/c++/10/bits/stl_set.h:94:11: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'std::set<_Key, _Compare, _Alloc>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:968:5: note: candidate: 'template<class _Key, class _Allocator, class> std::set(std::initializer_list<_Tp>, _Allocator)-> std::set<_Key, std::less<_Key>, _Allocator>'
  968 |     set(initializer_list<_Key>, _Allocator)
      |     ^~~
/usr/include/c++/10/bits/stl_set.h:968:5: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:961:5: note: candidate: 'template<class _InputIterator, class _Allocator, class, class> std::set(_InputIterator, _InputIterator, _Allocator)-> std::set<typename std::iterator_traits<_Iter>::value_type, std::less<typename std::iterator_traits< <template-parameter-1-1> >::value_type>, _Allocator>'
  961 |     set(_InputIterator, _InputIterator, _Allocator)
      |     ^~~
/usr/include/c++/10/bits/stl_set.h:961:5: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   candidate expects 3 arguments, 2 provided
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:954:5: note: candidate: 'template<class _Key, class _Compare, class _Allocator, class, class> std::set(std::initializer_list<_Tp>, _Compare, _Allocator)-> std::set<_Key, _Compare, _Allocator>'
  954 |     set(initializer_list<_Key>,
      |     ^~~
/usr/include/c++/10/bits/stl_set.h:954:5: note:   template argument deduction/substitution failed:
Anna.cpp:33:20: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:945:5: note: candidate: 'template<class _InputIterator, class _Compare, class _Allocator, class, class, class> std::set(_InputIterator, _InputIterator, _Compare, _Allocator)-> std::set<typename std::iterator_traits<_Iter>::value_type, _Compare, _Allocator>'
  945 |     set(_InputIterator, _InputIterator,
      |     ^~~
/usr/include/c++/10/bits/stl_set.h:945:5: note:   template argument deduction/substitution failed:
/usr/include/c++/10/bits/stl_set.h:938:5: error: no type named 'value_type' in 'struct std::iterator_traits<int>'
  938 |     typename _Compare =
      |     ^~~~~~~~
Anna.cpp:33:20: error: expression list treated as compound expression in functional cast [-fpermissive]
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                    ^
Anna.cpp:33:13: warning: left operand of comma operator has no effect [-Wunused-value]
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |             ^~~~
Anna.cpp:33:53: error: class template argument deduction failed:
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                                                     ^
Anna.cpp:33:53: error: no matching function for call to 'set(int&, bool)'
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:271:2: note: candidate: 'template<class _Key, class _Compare, class _Alloc, class _InputIterator> set(_InputIterator, _InputIterator, const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  271 |  set(_InputIterator __first, _InputIterator __last,
      |  ^~~
/usr/include/c++/10/bits/stl_set.h:271:2: note:   template argument deduction/substitution failed:
Anna.cpp:33:53: note:   deduced conflicting types for parameter '_InputIterator' ('int' and 'bool')
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                                                     ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:265:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::initializer_list<_Tp>, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  265 |       set(initializer_list<value_type> __l, const allocator_type& __a)
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:265:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:53: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                                                     ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:259:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::set<_Key, _Compare, _Alloc>&&, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  259 |       set(set&& __x, const allocator_type& __a)
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:259:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:53: note:   mismatched types 'std::set<_Key, _Compare, _Alloc>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                                                     ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:255:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const std::set<_Key, _Compare, _Alloc>&, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  255 |       set(const set& __x, const allocator_type& __a)
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:255:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:53: note:   mismatched types 'const std::set<_Key, _Compare, _Alloc>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                                                     ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:251:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  251 |       set(const allocator_type& __a)
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:251:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:53: note:   candidate expects 1 argument, 2 provided
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                                                     ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:243:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::initializer_list<_Tp>, const _Compare&, const allocator_type&)-> std::set<_Key, _Compare, _Alloc>'
  243 |       set(initializer_list<value_type> __l,
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:243:7: note:   template argument deduction/substitution failed:
Anna.cpp:33:53: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   33 |         set(pos1, 1); set(pos2, (bool)((1 << j) & X));
      |                                                     ^
In file included from /usr/include/c++/10/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:87,
                 from Anna.cpp:2:
/usr/include/c++/10/bits/stl_set.h:231:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::set<_Key, _Compare, _Alloc>&&)-> std::set<_Key, _Compare, _Alloc>'
  231 |       set(set&&) = default;
      |       ^~~
/usr/include/c++/10/bits/stl_set.h:231:7: note:   template argument deduction/substitution fai