Submission #1217976

#TimeUsernameProblemLanguageResultExecution timeMemory
1217976GrayBroken Device (JOI17_broken_device)C++20
Compilation error
0 ms0 KiB
#include "Annalib.h"
#include <algorithm>
#include <bits/stdc++.h>
#define ll long long
using namespace std;

void Anna( int N, long long X, int K, int P[] ){
    map<ll, ll> unfree;
    for (ll i=0; i<K; i++){
        unfree[P[i]]=1;
    }
    vector<ll> nums;
    for (ll i=0; i<60; i++){
        if ((1ull<<i)&X) nums.push_back(1);
        else nums.push_back(0);
    }
    reverse(nums.begin(), nums.end());
    for (ll i=2; i<N; i+=3){
      ll m2, m1;
      if (nums.empty()){
        m2=m1=0;
      }else{
        m1=nums.back(); nums.pop_back();
        if (nums.empty()) m2=0;
        else {
          m2=nums.back(); nums.pop_back();
        }
      }
      if (unfree.count(i)+unfree.count(i-1)+unfree.count(i-2)>=2){
          Set(i-2, 0); Set(i-1, 0); set(i, 0);
      }else{
          if (m1==0){
              if (m2==0 and !unfree.count(i-1)){
                  Set(i-1, 1); Set(i-2, 0); Set(i, 0);
              }else if (m2==1 and !unfree.count(i-1) and !unfree.count(i)){
                  Set(i, 1); Set(i-1, 1); Set(i-2, 0);
                }else{
                    Set(i-2, 1); Set(i, 0); Set(i-1, 0);
                    nums.push_back(m2);
                }
            }else{
                if (m2==0 and !unfree.count(i-2) and !unfree.count(i)){
                    Set(i-2, 1); Set(i, 1); Set(i-1, 0);
                }else if (m2==1 and !unfree.count(i) and !unfree.count(i-1) and !unfree.count(i-2)){
                    Set(i-2, 1); Set(i-1, 1); Set(i, 1);
                }else{
                    if (unfree.count(i)){
                        Set(i-1, 1); Set(i-2, 1); Set(i, 0);
                    }else{
                        Set(i, 1); Set(i-2, 0); Set(i-1, 0);
                    }
                    nums.push_back(m2);
                }
            }
        }
    }
}
/*

0 -> 100
00 > 010
01 -> 011

1 -> 001 || 110
10 -> 101
11 -> 111

*/
#include "Brunolib.h"
#include <bits/stdc++.h>
#define ll long long
using namespace std;

long long Bruno( int N, int A[] ){
    vector<ll> nums;
    // for (ll i=0; i<N; i++) cout << A[i] << endl;
    for (ll i=2; i<N and nums.size()<60; i+=3){
        if (A[i]==0 and A[i-1]==0 and A[i-2]==0) continue;
        else{
            if (A[i-2]==1 and A[i-1]==0 and A[i]==0) nums.push_back(0);
            else if (A[i]==0 and A[i-1]==1 and A[i-2]==0) {
                nums.push_back(0); 
                nums.push_back(0);
            } else if (A[i]==1 and A[i-1]==1 and A[i-2]==0){
                nums.push_back(0);
                nums.push_back(1);
            }else if (A[i]==1 and A[i-2]==1){
                nums.push_back(1); nums.push_back(0);
            }else if (A[i] and A[i-1] and A[i-2]){
                nums.push_back(1); nums.push_back(1); nums.push_back(1);
            }else{
                nums.push_back(1);
            }
        }
    }
    ll x=0;
    for (ll i=0; i<60; i++){
        if (nums[i]) x+=(1ull<<i);
    }
  return x;
}

Compilation message (stderr)

# 1번째 컴파일 단계

Anna.cpp: In function 'void Anna(int, long long int, int, int*)':
Anna.cpp:30:45: error: class template argument deduction failed:
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
Anna.cpp:30:45: error: no matching function for call to 'set(long long int&, int)'
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:271:9: 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++/11/bits/stl_set.h:271:9: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   deduced conflicting types for parameter '_InputIterator' ('long long int' and 'int')
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:265:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::initializer_list<_Tp>, const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  265 |       set(initializer_list<value_type> __l, const allocator_type& __a)
      |       ^~~
/usr/include/c++/11/bits/stl_set.h:265:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:259:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::set<_Key, _Compare, _Allocator>&&, const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  259 |       set(set&& __x, const allocator_type& __a)
      |       ^~~
/usr/include/c++/11/bits/stl_set.h:259:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'std::set<_Key, _Compare, _Allocator>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:255:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const std::set<_Key, _Compare, _Allocator>&, const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  255 |       set(const set& __x, const allocator_type& __a)
      |       ^~~
/usr/include/c++/11/bits/stl_set.h:255:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'const std::set<_Key, _Compare, _Allocator>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:251:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  251 |       set(const allocator_type& __a)
      |       ^~~
/usr/include/c++/11/bits/stl_set.h:251:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   candidate expects 1 argument, 2 provided
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:243:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::initializer_list<_Tp>, const _Compare&, const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  243 |       set(initializer_list<value_type> __l,
      |       ^~~
/usr/include/c++/11/bits/stl_set.h:243:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:231:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(std::set<_Key, _Compare, _Allocator>&&)-> std::set<_Key, _Compare, _Alloc>'
  231 |       set(set&&) = default;
      |       ^~~
/usr/include/c++/11/bits/stl_set.h:231:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'std::set<_Key, _Compare, _Allocator>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:223:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const std::set<_Key, _Compare, _Allocator>&)-> std::set<_Key, _Compare, _Alloc>'
  223 |       set(const set&) = default;
      |       ^~~
/usr/include/c++/11/bits/stl_set.h:223:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'const std::set<_Key, _Compare, _Allocator>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:208:9: 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++/11/bits/stl_set.h:208:9: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   deduced conflicting types for parameter '_InputIterator' ('long long int' and 'int')
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:191:9: 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++/11/bits/stl_set.h:191:9: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   deduced conflicting types for parameter '_InputIterator' ('long long int' and 'int')
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/bits/stl_set.h:176:7: note: candidate: 'template<class _Key, class _Compare, class _Alloc> set(const _Compare&, const _Alloc&)-> std::set<_Key, _Compare, _Alloc>'
  176 |       set(const _Compare& __comp,
      |       ^~~
/usr/include/c++/11/bits/stl_set.h:176:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   couldn't deduce template parameter '_Key'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/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++/11/bits/stl_set.h:167:7: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   candidate expects 0 arguments, 2 provided
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/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++/11/bits/stl_set.h:94:11: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'std::set<_Key, _Compare, _Alloc>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/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++/11/bits/stl_set.h:968:5: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/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++/11/bits/stl_set.h:961:5: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   deduced conflicting types for parameter '_InputIterator' ('long long int' and 'int')
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/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++/11/bits/stl_set.h:954:5: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^
In file included from /usr/include/c++/11/set:61,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:87,
                 from Anna.cpp:3:
/usr/include/c++/11/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++/11/bits/stl_set.h:945:5: note:   template argument deduction/substitution failed:
Anna.cpp:30:45: note:   deduced conflicting types for parameter '_InputIterator' ('long long int' and 'int')
   30 |           Set(i-2, 0); Set(i-1, 0); set(i, 0);
      |                                             ^