Submission #1265727

#TimeUsernameProblemLanguageResultExecution timeMemory
1265727bangchanBoxes with souvenirs (IOI15_boxes)C++20
Compilation error
0 ms0 KiB
#include "boxes.h"
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
#include <limits.h>
#include <set>
using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<bool> vb;
typedef vector<double> vd;
typedef vector<string> vs;
typedef vector<vi> vvi;
typedef pair<int,int> pii;
typedef vector<pii> vii;
typedef map<int, int> mii;
typedef vector<vl> vvl;
typedef pair<ll, ll> pll;
typedef vector<pll> vpl;

#define F first
#define S second
#define yes cout << "YES" << endl
#define no cout << "NO" << endl
#define pb push_back
#define forn(i, x, n) for (ll i = x; i < n; i++)
#define fornl(i, x, n) for(ll i = x; i >= n; i++)
#define all(x) x.begin(), x.end()
#define mod 1000000007
#define inf 10000000000000

long long delivery(int n, int k, int l, int p[]) {
    vl x;
    set<ll> st;

    x.pb(0); x.pb(l);
    st.insert(0); st.insert(1);
    forn(i, 0, n){ 
        ll c = st.size();
        x.pb(p[i]);
        if(st.size() > c) x.pb(p[i]);
    }

    sort(all(x));

    ll mint = l;
    forn(i, 0, x.size() - 1){
        mint = min(mint, 2 * (l - (p[i + 1] - p[i])));
    }
    
    return mint;

    /*int ans = 0, t = 0, tt = 0;
    forn(i, 0, n){
       t += max(t, p[i]);
       tt += min(tt, p[i]);
    }
    ans = min(t, tt);
    return ans * 2;*/
}

Compilation message (stderr)

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:51:19: error: no matching function for call to 'min(ll&, int)'
   51 |         mint = min(mint, 2 * (l - (p[i + 1] - p[i])));
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from boxes.cpp:2:
/usr/include/c++/11/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  230 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
boxes.cpp:51:19: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   51 |         mint = min(mint, 2 * (l - (p[i + 1] - p[i])));
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from boxes.cpp:2:
/usr/include/c++/11/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
boxes.cpp:51:19: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   51 |         mint = min(mint, 2 * (l - (p[i + 1] - p[i])));
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from boxes.cpp:2:
/usr/include/c++/11/bits/stl_algo.h:3449:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3449 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3449:5: note:   template argument deduction/substitution failed:
boxes.cpp:51:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   51 |         mint = min(mint, 2 * (l - (p[i + 1] - p[i])));
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from boxes.cpp:2:
/usr/include/c++/11/bits/stl_algo.h:3455:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3455 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3455:5: note:   template argument deduction/substitution failed:
boxes.cpp:51:19: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   51 |         mint = min(mint, 2 * (l - (p[i + 1] - p[i])));
      |                ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~