Submission #390985

#TimeUsernameProblemLanguageResultExecution timeMemory
390985alishahali1382Ancient Books (IOI17_books)C++14
Compilation error
0 ms0 KiB
#include "books.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; #define debug(x) {cerr<<#x<<"="<<x<<"\n";} #define debug2(x, y) {cerr<<#x<<", "<<#y<<" = "<<x<<", "<<y<<"\n";} #define pb push_back #define all(x) x.begin(), x.end() const int inf=1000000100; const int MAXN=1000010; ll ans; // :) int n, m, k, s; int P[MAXN], ps[MAXN]; ll minimum_walk(vector<int> _p, int s){ n=_p.size(); for (int i=0; i<n; i++){ P[i]=_p[i]; ans+=abs(i-P[i]); ps[min(i, P[i])]++; ps[max(i, P[i])]--; } if (!ans) return 0; while (P[n-1]==n-1) n--; int L=0; while (P[L]==L) L++; for (int i=1; i<n; i++) ps[i]+=ps[i-1]; for (int i=L; i+1<n; i++) if (!ps[i]) ans+=2; if (s<L) ans+=2*(L-s); else if (n<s) ans+=2*(s-n); else{ ll res=inf; for (int i=L; i<n; i++) if (P[i]!=i) res=min(res, abs(i-s)); ans+=res; } return ans; }

Compilation message (stderr)

books.cpp: In function 'll minimum_walk(std::vector<int>, int)':
books.cpp:38:61: error: no matching function for call to 'min(ll&, int)'
   38 |   for (int i=L; i<n; i++) if (P[i]!=i) res=min(res, abs(i-s));
      |                                                             ^
In file included from /usr/include/c++/9/vector:60,
                 from books.h:1,
                 from books.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:198:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  198 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:198:5: note:   template argument deduction/substitution failed:
books.cpp:38:61: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   38 |   for (int i=L; i<n; i++) if (P[i]!=i) res=min(res, abs(i-s));
      |                                                             ^
In file included from /usr/include/c++/9/vector:60,
                 from books.h:1,
                 from books.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:246:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  246 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:246:5: note:   template argument deduction/substitution failed:
books.cpp:38:61: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   38 |   for (int i=L; i<n; i++) if (P[i]!=i) res=min(res, abs(i-s));
      |                                                             ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from books.cpp:2:
/usr/include/c++/9/bits/stl_algo.h:3444:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3444 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3444:5: note:   template argument deduction/substitution failed:
books.cpp:38:61: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   38 |   for (int i=L; i<n; i++) if (P[i]!=i) res=min(res, abs(i-s));
      |                                                             ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from books.cpp:2:
/usr/include/c++/9/bits/stl_algo.h:3450:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3450 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3450:5: note:   template argument deduction/substitution failed:
books.cpp:38:61: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   38 |   for (int i=L; i<n; i++) if (P[i]!=i) res=min(res, abs(i-s));
      |                                                             ^