| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 249669 | egekabas | Constellation 3 (JOI20_constellation3) | C++14 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<ull, ull> pull;
typedef pair<ll, ll> pii;
typedef pair<ld, ld> pld;
ll n, m;
ll a[200009];
vector<pii> b[200009];
ll dp[200009];
ll tot;
ll seg[800009];
void build(ll v, ll tl, ll tr){
if(tl == tr){
seg[v] = a[tl];
return;
}
build(2*v, tl, (tl+tr)/2);
build(2*v+1, (tl+tr)/2+1, tr);
seg[v] = max(seg[2*v], seg[2*v+1]);
}
ll get(ll v, ll tl, ll tr, ll val){
if(seg[v] < val) return n;
if(tl == tr) return tl;
if(seg[2*v+1] < val)
return get(2*v, tl, (tl+tr)/2, val);
return get(2*v+1, (tl+tr)/2+1, tr, val);
}
void erase(ll v, ll tl, ll tr, ll idx){
if(tl == tr){
seg[v] = -1;
return;
}
if(idx <= (tl+tr)/2)
erase(2*v, tl, (tl+tr)/2, idx);
else
erase(2*v+1, (tl+tr)/2+1, tr, idx);
seg[v] = max(seg[2*v], seg[2*v+1]);
}
ll extra[200009];
int main() {
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
cin >> n;
for(ll i = 0; i < n; ++i)
cin >> a[i];
cin >> m;
while(m--){
ll x, y, c;
cin >> x >> y >> c;
b[x-1].pb({y, c});
tot += c;
}
build(1, 0, n-1);
deque<pii> v = {{1e9+9, n}};
for(ll i = n-1; i >= 0; --i){
erase(1, 0, n-1, i);
extra[i] = max(extra[i], extra[i+1]);
dp[i] = dp[i+1];
for(auto u : b[i]){
ll bef = get(1, 0, n-1, u.ff);
if(bef < i)
extra[bef] = max(extra[bef], extra[i]+u.ss);
ll idx = (*lower_bound(v.begin(), v.end(), mp(u.ff, 0))).ss;
dp[i] = max(dp[i], u.ss+dp[idx]+extra[i]-extra[idx]);
}
while(v[0].ff <= a[i])
v.pop_front();
v.push_front({a[i], i});
}
cout << tot-dp[0] << '\n';
}
Compilation message (stderr)
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h: In instantiation of 'bool __gnu_cxx::__ops::_Iter_less_val::operator()(_Iterator, _Value&) const [with _Iterator = std::_Deque_iterator<std::pair<long long int, long long int>, std::pair<long long int, long long int>&, std::pair<long long int, long long int>*>; _Value = const std::pair<long long int, int>]':
/usr/include/c++/7/bits/stl_algobase.h:959:14: required from '_ForwardIterator std::__lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&, _Compare) [with _ForwardIterator = std::_Deque_iterator<std::pair<long long int, long long int>, std::pair<long long int, long long int>&, std::pair<long long int, long long int>*>; _Tp = std::pair<long long int, int>; _Compare = __gnu_cxx::__ops::_Iter_less_val]'
/usr/include/c++/7/bits/stl_algobase.h:993:32: required from '_ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator, const _Tp&) [with _ForwardIterator = std::_Deque_iterator<std::pair<long long int, long long int>, std::pair<long long int, long long int>&, std::pair<long long int, long long int>*>; _Tp = std::pair<long long int, int>]'
constellation3.cpp:73:67: required from here
/usr/include/c++/7/bits/predefined_ops.h:65:22: error: no match for 'operator<' (operand types are 'std::pair<long long int, long long int>' and 'const std::pair<long long int, int>')
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:888:5: note: candidate: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)
operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:888:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/stl_iterator.h:895:5: note: candidate: template<class _Iterator, class _Container> bool __gnu_cxx::operator<(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)
operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:895:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'const __gnu_cxx::__normal_iterator<_Iterator, _Container>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/regex:62:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
from constellation3.cpp:1:
/usr/include/c++/7/bits/regex.h:1429:5: note: candidate: template<class _Bi_iter> bool std::__cxx11::operator<(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type&)
operator<(const sub_match<_Bi_iter>& __lhs,
^~~~~~~~
/usr/include/c++/7/bits/regex.h:1429:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/regex:62:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
from constellation3.cpp:1:
/usr/include/c++/7/bits/regex.h:1349:5: note: candidate: template<class _Bi_iter> bool std::__cxx11::operator<(const typename std::iterator_traits<_Iter>::value_type&, const std::__cxx11::sub_match<_BiIter>&)
operator<(typename iterator_traits<_Bi_iter>::value_type const& __lhs,
^~~~~~~~
/usr/include/c++/7/bits/regex.h:1349:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'const std::pair<long long int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/regex:62:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
from constellation3.cpp:1:
/usr/include/c++/7/bits/regex.h:1272:5: note: candidate: template<class _Bi_iter> bool std::__cxx11::operator<(const std::__cxx11::sub_match<_BiIter>&, const typename std::iterator_traits<_Iter>::value_type*)
operator<(const sub_match<_Bi_iter>& __lhs,
^~~~~~~~
/usr/include/c++/7/bits/regex.h:1272:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/regex:62:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
from constellation3.cpp:1:
/usr/include/c++/7/bits/regex.h:1198:5: note: candidate: template<class _Bi_iter> bool std::__cxx11::operator<(const typename std::iterator_traits<_Iter>::value_type*, const std::__cxx11::sub_match<_BiIter>&)
operator<(typename iterator_traits<_Bi_iter>::value_type const* __lhs,
^~~~~~~~
/usr/include/c++/7/bits/regex.h:1198:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'const std::pair<long long int, int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/regex:62:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
from constellation3.cpp:1:
/usr/include/c++/7/bits/regex.h:1121:5: note: candidate: template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator<(const std::__cxx11::sub_match<_BiIter>&, std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&)
operator<(const sub_match<_Bi_iter>& __lhs,
^~~~~~~~
/usr/include/c++/7/bits/regex.h:1121:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/regex:62:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
from constellation3.cpp:1:
/usr/include/c++/7/bits/regex.h:1041:5: note: candidate: template<class _Bi_iter, class _Ch_traits, class _Ch_alloc> bool std::__cxx11::operator<(std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>&, const std::__cxx11::sub_match<_BiIter>&)
operator<(const __sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>& __lhs,
^~~~~~~~
/usr/include/c++/7/bits/regex.h:1041:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'std::__cxx11::__sub_match_string<_Bi_iter, _Ch_traits, _Ch_alloc>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/regex:62:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:110,
from constellation3.cpp:1:
/usr/include/c++/7/bits/regex.h:962:5: note: candidate: template<class _BiIter> bool std::__cxx11::operator<(const std::__cxx11::sub_match<_BiIter>&, const std::__cxx11::sub_match<_BiIter>&)
operator<(const sub_match<_BiIter>& __lhs, const sub_match<_BiIter>& __rhs)
^~~~~~~~
/usr/include/c++/7/bits/regex.h:962:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'const std::__cxx11::sub_match<_BiIter>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/c++/7/future:39:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:105,
from constellation3.cpp:1:
/usr/include/c++/7/thread:281:3: note: candidate: bool std::operator<(std::thread::id, std::thread::id)
operator<(thread::id __x, thread::id __y) noexcept
^~~~~~~~
/usr/include/c++/7/thread:281:3: note: no known conversion for argument 1 from 'std::pair<long long int, long long int>' to 'std::thread::id'
In file included from /usr/include/c++/7/forward_list:38:0,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:104,
from constellation3.cpp:1:
/usr/include/c++/7/bits/forward_list.h:1391:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator<(const std::forward_list<_Tp, _Alloc>&, const std::forward_list<_Tp, _Alloc>&)
operator<(const forward_list<_Tp, _Alloc>& __lx,
^~~~~~~~
/usr/include/c++/7/bits/forward_list.h:1391:5: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'const std::forward_list<_Tp, _Alloc>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:95:0,
from constellation3.cpp:1:
/usr/include/c++/7/valarray:1186:1: note: candidate: template<class _Tp> std::_Expr<std::_BinClos<std::__less, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__less, _Tp>::result_type> std::operator<(const _Tp&, const std::valarray<_Tp>&)
_DEFINE_BINARY_OPERATOR(<, __less)
^
/usr/include/c++/7/valarray:1186:1: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'const std::pair<long long int, int>' is not derived from 'const std::valarray<_Tp>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:95:0,
from constellation3.cpp:1:
/usr/include/c++/7/valarray:1186:1: note: candidate: template<class _Tp> std::_Expr<std::_BinClos<std::__less, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__less, _Tp>::result_type> std::operator<(const std::valarray<_Tp>&, const _Tp&)
_DEFINE_BINARY_OPERATOR(<, __less)
^
/usr/include/c++/7/valarray:1186:1: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from /usr/include/c++/7/ios:40,
from /usr/include/c++/7/istream:38,
from /usr/include/c++/7/sstream:38,
from /usr/include/c++/7/complex:45,
from /usr/include/c++/7/ccomplex:39,
from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52,
from constellation3.cpp:1:
/usr/include/c++/7/bits/predefined_ops.h:65:22: note: 'std::pair<long long int, long long int>' is not derived from 'const std::valarray<_Tp>'
{ return *__it < __val; }
~~~~~~^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:95:0,
from constellation3.cpp:1:
/usr/include/c++/7/valarray:1186:1: note: candidate: template<class _Tp> std::_Expr<std::_BinClos<std::__less, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__less, _Tp>::result_type> std::operator<(const std::valarray<_Tp>&, const std::valarray<_Tp>&)
_DEFINE_BINARY_OPERATOR(<, __less)
^
/usr/include/c++/7/valarray:1186:1: note: template argument deduction/substitution failed:
In file included from /usr/include/c++/7/bits/stl_algobase.h:71:0,
from /usr/include/c++/7/bits/char_traits.h:39,
from