| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1370633 | vicente1 | Festival (IOI25_festival) | C++20 | Compilation error | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
template <typename T>
using v = vector<T>;
using ll = long long;
using pii = pair<int,int>;
using pll = pair<ll,ll>;
using vi = vector<int>;
using vll = vector<ll>;
using ui = unsigned int;
using vpii = vector<pii>;
using vvi = vector<vi>;
#define pb push_back
#define all(_) _.begin(), _.end()
constexpr int MXN = 200003;
constexpr ll INF = 200000000000000;
constexpr int MOD = 1;
constexpr int LOG = bit_width(ui(MXN));
int n, k;
struct c{
int t, p, id;
c(int a, int b, int c){
t = a;
p = b;
id = c;
}
};
vi answ;
vpii T1;
v<c> M1, M;
__int128 X = 0;
ll dp[MXN][67];
bool comp(c x, c y){
return (ll)x.p*x.t*y.t - (ll)y.t*y.p < (ll)y.p*y.t*x.t - (ll)x.t*x.p;
}
void win_win(){
k=0;
while(k<n){
auto [t,p,id] = M1[k];
__int128 next = (X-p)*t;
if(next >= INF){
answ.clear();
for(auto &[t,p,id] : M1) answ.pb(id);
for(auto &[p, id]: T1) answ.pb(id);
return answ;
}
if(next >= X){
answ.pb(id);
X = next;
k++;
}
else break;
}
}
void retrieve(int comprado){
vi v;
while(n && comprado){
ll prev = dp[n-1][comprado-1];
ll actual = dp[n][comprado];
auto [t,p, id] = M[n-1];
if(prev > 0 && actual == (prev-p)*t){
v.pb(id);
comprado--;
}
n--;
}
reverse(all(v));
insert(answ.begin(), all(v));
}
vi max_coupons(int A, vi P, vi T){
n = T.size();
for(int i=0; i<n; i++){
if(T[i] == 1) T1.pb({P[i], i});
else{
M1.pb(c(T[i],P[i],i));
}
}
vll pref(T1.size());
bool hayT1 = 0;
if(T1.size()){
hayT1 = 1;
pref[0] = T1[0].first;
for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
}
sort(all(T1));
sort(all(M1), comp);
n = M1.size();
win_win();
insert(M.end(), M1.begin()+k, M1.end());
for(int i=0; i<MXN; i++){
for(int j=0; j<67; j++) dp[i][j] = -1;
}
n = M.size();
for(int i=0; i<=n; i++){
dp[i][0] = X;
}
for(int i=1; i<=n; i++){
int tope = min(66, i);
auto [t, p, id] = M[i-1];
for(int j=1; j<=tope; j++){
ll prev = dp[i-1][j-1];
ll new = prev >= p ? (prev-p)*t : -1;
dp[i][j] = max(dp[i-1][j], new);
}
}
int MX_T1 = 0;
int MX_other = 0;
for(int i=0; i<67; i++){
ll sobra = dp[n][i];
ll extra = hayT1 ? upper_bound(all(pref), sobra) - pref.begin() : 0;
if(i + extra > MX_T1 + MX_other){
MX_T1 = extra;
MX_other = i;
}
}
retrieve(MX_other);
for(int i=0; i<MX_T1; i++) answ.pb(T1[i].second);
return answ;
}Compilation message (stderr)
festival.cpp: In function 'void win_win()':
festival.cpp:53:20: error: return-statement with a value, in function returning 'void' [-fpermissive]
53 | return answ;
| ^~~~
festival.cpp: In function 'void retrieve(int)':
festival.cpp:80:5: error: 'insert' was not declared in this scope; did you mean 'assert'?
80 | insert(answ.begin(), all(v));
| ^~~~~~
| assert
festival.cpp: In function 'vi max_coupons(int, vi, vi)':
festival.cpp:100:60: error: no match for 'operator+' (operand types are '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'} and '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'})
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
In file included from /usr/include/c++/13/bits/stl_algobase.h:67,
from /usr/include/c++/13/algorithm:60,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:51,
from festival.cpp:1:
/usr/include/c++/13/bits/stl_iterator.h:634:5: note: candidate: 'template<class _Iterator> constexpr std::reverse_iterator<_IteratorL> std::operator+(typename reverse_iterator<_IteratorL>::difference_type, const reverse_iterator<_IteratorL>&)'
634 | operator+(typename reverse_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/usr/include/c++/13/bits/stl_iterator.h:634:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} is not derived from 'const std::reverse_iterator<_IteratorL>'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/stl_iterator.h:1808:5: note: candidate: 'template<class _Iterator> constexpr std::move_iterator<_IteratorL> std::operator+(typename move_iterator<_IteratorL>::difference_type, const move_iterator<_IteratorL>&)'
1808 | operator+(typename move_iterator<_Iterator>::difference_type __n,
| ^~~~~~~~
/usr/include/c++/13/bits/stl_iterator.h:1808:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} is not derived from 'const std::move_iterator<_IteratorL>'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
In file included from /usr/include/c++/13/string:54,
from /usr/include/c++/13/bitset:52,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:52:
/usr/include/c++/13/bits/basic_string.h:3553:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
3553 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3553:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3571:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const _CharT*, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
3571 | operator+(const _CharT* __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3571:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const _CharT*' and 'long long int'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3590:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(_CharT, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
3590 | operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs)
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3590:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3607:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)'
3607 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3607:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3625:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, _CharT)'
3625 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3625:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3637:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
3637 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3637:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3644:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const __cxx11::basic_string<_CharT, _Traits, _Allocator>&, __cxx11::basic_string<_CharT, _Traits, _Allocator>&&)'
3644 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3644:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3651:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, __cxx11::basic_string<_CharT, _Traits, _Allocator>&&)'
3651 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3651:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3674:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const _CharT*, __cxx11::basic_string<_CharT, _Traits, _Allocator>&&)'
3674 | operator+(const _CharT* __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3674:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const _CharT*' and 'long long int'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3681:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(_CharT, __cxx11::basic_string<_CharT, _Traits, _Allocator>&&)'
3681 | operator+(_CharT __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3681:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3688:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, const _CharT*)'
3688 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3688:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/basic_string.h:3695:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, _CharT)'
3695 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
| ^~~~~~~~
/usr/include/c++/13/bits/basic_string.h:3695:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
In file included from /usr/include/c++/13/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:127:
/usr/include/c++/13/complex:335:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator+(const complex<_Tp>&, const complex<_Tp>&)'
335 | operator+(const complex<_Tp>& __x, const complex<_Tp>& __y)
| ^~~~~~~~
/usr/include/c++/13/complex:335:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::complex<_Tp>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/complex:344:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator+(const complex<_Tp>&, const _Tp&)'
344 | operator+(const complex<_Tp>& __x, const _Tp& __y)
| ^~~~~~~~
/usr/include/c++/13/complex:344:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::complex<_Tp>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/complex:353:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator+(const _Tp&, const complex<_Tp>&)'
353 | operator+(const _Tp& __x, const complex<_Tp>& __y)
| ^~~~~~~~
/usr/include/c++/13/complex:353:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} is not derived from 'const std::complex<_Tp>'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/complex:454:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator+(const complex<_Tp>&)'
454 | operator+(const complex<_Tp>& __x)
| ^~~~~~~~
/usr/include/c++/13/complex:454:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::complex<_Tp>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
In file included from /usr/include/c++/13/valarray:605,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:166:
/usr/include/c++/13/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const _Expr<_Dom1, typename _Dom1::value_type>&, const _Expr<_Dom2, typename _Dom2::value_type>&)'
405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const _Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)'
405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const typename _Dom::value_type&, const _Expr<_Dom1, typename _Dom1::value_type>&)'
405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const _Expr<_Dom1, typename _Dom1::value_type>&, const valarray<typename _Dom::value_type>&)'
405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__plus, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const valarray<typename _Dom::value_type>&, const _Expr<_Dom1, typename _Dom1::value_type>&)'
405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/valarray:1196:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__plus, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__plus, _Tp>::result_type> std::operator+(const valarray<_Tp>&, const valarray<_Tp>&)'
1196 | _DEFINE_BINARY_OPERATOR(+, __plus)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/valarray:1196:1: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::valarray<_Tp>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/valarray:1196:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__plus, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__plus, _Tp>::result_type> std::operator+(const valarray<_Tp>&, const typename valarray<_Tp>::value_type&)'
1196 | _DEFINE_BINARY_OPERATOR(+, __plus)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/valarray:1196:1: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: mismatched types 'const std::valarray<_Tp>' and '__gnu_cxx::__alloc_traits<std::allocator<long long int>, long long int>::value_type' {aka 'long long int'}
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
/usr/include/c++/13/valarray:1196:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__plus, _Tp>::result_type> std::operator+(const typename valarray<_Tp>::value_type&, const valarray<_Tp>&)'
1196 | _DEFINE_BINARY_OPERATOR(+, __plus)
| ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/valarray:1196:1: note: template argument deduction/substitution failed:
festival.cpp:100:66: note: '__gnu_cxx::__alloc_traits<std::allocator<std::pair<int, int> >, std::pair<int, int> >::value_type' {aka 'std::pair<int, int>'} is not derived from 'const std::valarray<_Tp>'
100 | for(int i=1; i<T1.size(); i++) pref[i] = pref[i-1] + T1[i];
| ^
festival.cpp:110:5: error: 'insert' was not declared in this scope; did you mean 'assert'?
110 | insert(M.end(), M1.begin()+k, M1.end());
| ^~~~~~
| assert
festival.cpp:127:16: error: expected unqualified-id before 'new'
127 | ll new = prev >= p ? (prev-p)*t : -1;
| ^~~
festival.cpp:128:43: error: expected type-specifier before ')' token
128 | dp[i][j] = max(dp[i-1][j], new);
| ^