Submission #376072

#TimeUsernameProblemLanguageResultExecution timeMemory
376072ijxjdjdNice sequence (IZhO18_sequence)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define FR(i, N) for (int i = 0; i < int(N); i++) #define all(x) begin(x), end(x) using namespace std; using ll = long long; void random() { return rand()%10000 + 1; } int main() { cin.tie(0); cin.sync_with_stdio(0); int T; cin >> T; FR(iter, T) { int N, M; cin >> N >> M; bool swapped = false; if (max(N,M)%min(N,M) == 0) { if (N >= M) { cout << N-1 << '\n'; for (int i = 0; i < N-1; i++) { cout << 1 << " "; } cout << '\n'; } else { cout << M-1 << '\n'; for (int i = 0; i < M-1; i++) { cout << -1 << " "; } cout << '\n'; } } else { if (N < M) { swap(N, M); swapped = true; } int d = N%M; int mx = N; while (d != 0) { mx = max(mx, d+N); d += N%M; if (d >= M) { d -= M; } if (d == 0) { break; } } vector<int> cntIn(mx, 0); vector<int> pref(mx, 0); for (int i = 0; i < mx; i++) { if (i+N < mx) { cntIn[i+N]++; } if (i-M >= 0) { cntIn[i-M]++; } } deque<int> deq; for (int i = 0; i < mx; i++) { if (cntIn[i] == 0) { deq.push_back(i); pref[i] = random(); } } while (deq.size()) { int i = deq.front(); deq.pop_front(); if (i+N<mx) { cntIn[i+N]--; pref[i+N] = max(pref[i+N], pref[i]+random()); if (cntIn[i+N] == 0) { deq.push_back(i+N); } } if (i-M>=0) { cntIn[i-M]--; pref[i-M] = max(pref[i-M], pref[i]+random()); if (cntIn[i-M] == 0) { deq.push_back(i-M); } } } for (int i = mx-1; i >=0; i--) { pref[i] -= pref[0]; } if (!swapped) { for (int i = 1; i < mx; i++) { pref[i] *= -1; } } cout << mx - 1 << '\n'; for (int i = 1; i < mx; i++) { cout << pref[i] - pref[i-1] << " "; } cout << '\n'; } } return 0; }

Compilation message (stderr)

sequence.cpp:9:6: error: ambiguating new declaration of 'void random()'
    9 | void random() {
      |      ^~~~~~
In file included from /usr/include/c++/9/bits/std_abs.h:38,
                 from /usr/include/c++/9/cmath:47,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:41,
                 from sequence.cpp:1:
/usr/include/stdlib.h:401:17: note: old declaration 'long int random()'
  401 | extern long int random (void) __THROW;
      |                 ^~~~~~
sequence.cpp: In function 'void random()':
sequence.cpp:10:27: error: return-statement with a value, in function returning 'void' [-fpermissive]
   10 |     return rand()%10000 + 1;
      |                           ^
sequence.cpp: In function 'int main()':
sequence.cpp:76:64: error: no matching function for call to 'max(__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&, long int)'
   76 |                     pref[i+N] = max(pref[i+N], pref[i]+random());
      |                                                                ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from sequence.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:222:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  222 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:222:5: note:   template argument deduction/substitution failed:
sequence.cpp:76:64: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
   76 |                     pref[i+N] = max(pref[i+N], pref[i]+random());
      |                                                                ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from sequence.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  268 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:268:5: note:   template argument deduction/substitution failed:
sequence.cpp:76:64: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
   76 |                     pref[i+N] = max(pref[i+N], pref[i]+random());
      |                                                                ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from sequence.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3456:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3456 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
sequence.cpp:76:64: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   76 |                     pref[i+N] = max(pref[i+N], pref[i]+random());
      |                                                                ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from sequence.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3462 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3462:5: note:   template argument deduction/substitution failed:
sequence.cpp:76:64: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   76 |                     pref[i+N] = max(pref[i+N], pref[i]+random());
      |                                                                ^
sequence.cpp:83:64: error: no matching function for call to 'max(__gnu_cxx::__alloc_traits<std::allocator<int>, int>::value_type&, long int)'
   83 |                     pref[i-M] = max(pref[i-M], pref[i]+random());
      |                                                                ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from sequence.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:222:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  222 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:222:5: note:   template argument deduction/substitution failed:
sequence.cpp:83:64: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
   83 |                     pref[i-M] = max(pref[i-M], pref[i]+random());
      |                                                                ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from sequence.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  268 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:268:5: note:   template argument deduction/substitution failed:
sequence.cpp:83:64: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long int')
   83 |                     pref[i-M] = max(pref[i-M], pref[i]+random());
      |                                                                ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from sequence.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3456:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3456 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
sequence.cpp:83:64: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   83 |                     pref[i-M] = max(pref[i-M], pref[i]+random());
      |                                                                ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from sequence.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3462 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3462:5: note:   template argument deduction/substitution failed:
sequence.cpp:83:64: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   83 |                     pref[i-M] = max(pref[i-M], pref[i]+random());
      |                                                                ^