Submission #344509

#TimeUsernameProblemLanguageResultExecution timeMemory
344509blue이상한 기계 (APIO19_strange_device)C++11
Compilation error
0 ms0 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; long long long_gcd(long long a, long long b) { // cout << "gcd " << a << ' ' << b << '\n'; if(a == b) return a; if(a < b) swap(a, b); if(b == 0) return a; return long_gcd(a%b, b); } long long long_abs(long long x) { if(x >= 0) return x; return -x; } long long long_sign(long long x) { if(x > 0) return 1; return -1; } int main() { int n; long long A, B; cin >> n >> A >> B; long long period = A * B / long_gcd(A, B+1); // cout << period << '\n'; long long l, r; vector<long long> endpoints; int maxSize = 0; for(int i = 1; i <= n; i++) { cin >> l >> r; maxSize = max(maxSize, r-l+1); if(l % period <= r % period) { endpoints.push_back(l % period + 1); endpoints.push_back(-(r % period) - 1 - 1); } else { endpoints.push_back(l % period + 1); endpoints.push_back(-period - 1); endpoints.push_back(0 + 1); endpoints.push_back(-(r % period) - 1 - 1); } } if(maxSize >= period) { cout << period << '\n'; return 0; } // for(long long e: endpoints) cout << e << ' '; // cout << '\n'; sort(endpoints.begin(), endpoints.end(), [] (long long p, long long q) { return long_abs(p) < long_abs(q); }); // for(long long e: endpoints) cout << e << ' '; // cout << '\n'; long long res = 0; long long count = 0; count += long_sign(endpoints[0]); for(int i = 1; i < endpoints.size(); i++) { // cout << count << ' ' << long_abs(endpoints[i]) - long_abs(endpoints[i-1]) << '\n'; if(count > 0) res += long_abs(endpoints[i]) - long_abs(endpoints[i-1]); count += long_sign(endpoints[i]); } cout << res << '\n'; }

Compilation message (stderr)

strange_device.cpp: In function 'int main()':
strange_device.cpp:47:37: error: no matching function for call to 'max(int&, long long int)'
   47 |         maxSize = max(maxSize, r-l+1);
      |                                     ^
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/ostream:38,
                 from /usr/include/c++/9/iostream:39,
                 from strange_device.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:222:5: note: candidate: 'template<class _Tp> 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:
strange_device.cpp:47:37: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   47 |         maxSize = max(maxSize, r-l+1);
      |                                     ^
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/ostream:38,
                 from /usr/include/c++/9/iostream:39,
                 from strange_device.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> 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:
strange_device.cpp:47:37: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   47 |         maxSize = max(maxSize, r-l+1);
      |                                     ^
In file included from /usr/include/c++/9/algorithm:62,
                 from strange_device.cpp:3:
/usr/include/c++/9/bits/stl_algo.h:3456:5: note: candidate: 'template<class _Tp> _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:
strange_device.cpp:47:37: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   47 |         maxSize = max(maxSize, r-l+1);
      |                                     ^
In file included from /usr/include/c++/9/algorithm:62,
                 from strange_device.cpp:3:
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: candidate: 'template<class _Tp, class _Compare> _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:
strange_device.cpp:47:37: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   47 |         maxSize = max(maxSize, r-l+1);
      |                                     ^
strange_device.cpp:88:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   88 |     for(int i = 1; i < endpoints.size(); i++)
      |                    ~~^~~~~~~~~~~~~~~~~~