Submission #1351221

#TimeUsernameProblemLanguageResultExecution timeMemory
1351221jumpSouvenirs (IOI25_souvenirs)C++20
Compilation error
0 ms0 KiB
#include "souvenirs.h"
#include <iostream>
#include <utility>
#include <vector>
#define ll long long
ll ng;
std::pair<std::vector<int>,long long> res;
std::vector<int> total;
void wrap(ll ts){
  //std::cout << ts << ' ';
  res = transaction(ts);
  for(int i=0;i<res.first.size();i++){
    total[res.first[i]]+=1;
  }
}
bool reallystupidcheck(){
  return (res.first.size()>1||res.second>0);
}
bool anotherreallystupidcheck(){
  for(int i=0;i<ng;i++){
    if(total[i]!=i)return false;
  }
  return true;
}
void buy_souvenirs(int N, long long P0) {
  ng=N;
  total.resize(N+4);
  ll last= P0-1;
  ll num=1;
  while(!anotherreallystupidcheck()){
    wrap(last);
    bool res = reallystupidcheck();
    if(res)last-=1;
    last=std::max(last,1);
    if(num==N){
      while(!anotherreallystupidcheck()){
        wrap(last);
      }
    }
    for(int i=1;i<num;i++)wrap(last);
    num+=1;
    last-=1;
    last=std::max(last,1);
  }
  return;
}

Compilation message (stderr)

souvenirs.cpp: In function 'void buy_souvenirs(int, long long int)':
souvenirs.cpp:34:18: error: no matching function for call to 'max(long long int&, int)'
   34 |     last=std::max(last,1);
      |          ~~~~~~~~^~~~~~~~
In file included from /usr/include/c++/13/vector:62,
                 from souvenirs.h:2,
                 from souvenirs.cpp:1:
/usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
souvenirs.cpp:34:18: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   34 |     last=std::max(last,1);
      |          ~~~~~~~~^~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
souvenirs.cpp:34:18: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   34 |     last=std::max(last,1);
      |          ~~~~~~~~^~~~~~~~
souvenirs.cpp:43:18: error: no matching function for call to 'max(long long int&, int)'
   43 |     last=std::max(last,1);
      |          ~~~~~~~~^~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
souvenirs.cpp:43:18: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   43 |     last=std::max(last,1);
      |          ~~~~~~~~^~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/13/bits/stl_algobase.h:303:5: note:   template argument deduction/substitution failed:
souvenirs.cpp:43:18: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   43 |     last=std::max(last,1);
      |          ~~~~~~~~^~~~~~~~