# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
723392 | stage | Measures (CEOI22_measures) | C++14 | 컴파일 에러 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
#define int long long
using namespace std;
map<pair<int,int>,int> to;
struct node{
int max,min,ans;
};
const int N = 2e5, inf = 1e17;
node segt[4*N+5];
int lazy[4*N+5];
node merge(node a, node b){
node c;
c.ans = max({a.ans,b.ans,b.max-a.min});
c.max = max(a.max,b.max);
c.min = min(a.min,b.min);
return c;
}
void update(int idx, int l, int r, int L, int R, int val){
if (l > R or r < L) return;
for (int k:{2*idx,2*idx+1}){
segt[k].min += lazy[idx];
segt[k].max += lazy[idx];
lazy[k] += lazy[idx];
}
int t = lazy[idx];
lazy[idx] = 0;
if (l >= L and r <= R){
if (L == R) segt[idx] = {val+t,val+t,0};
else{
segt[idx].max += val;
segt[idx].min += val;
lazy[idx] += val;
}
return;
}
int mid = (l+r)/2;
update(2*idx,l,mid,L,R,val);
update(2*idx+1,mid+1,r,L,R,val);
segt[idx] = merge(segt[2*idx],segt[2*idx+1]);
}
node query(int idx, int l, int r, int L, int R){
if (r < L or l > R) return {-inf,inf,-inf};
if (l >= L and r <= R) return segt[idx];
for (int k:{2*idx,2*idx+1}){
segt[k].min += lazy[idx];
segt[k].max += lazy[idx];
lazy[k] += lazy[idx];
}
lazy[idx] = 0;
int mid = (l+r)/2;
return merge(query(2*idx,l,mid,L,R),query(2*idx+1,mid+1,r,L,R));
}
int32_t main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n,m,d;
cin >> n >> m >> d;
fill_n(segt,4*N+5,node{-inf,inf,-inf});
vector<int> init;
vector<pair<int,int>> a(n+m);
for (int i=0; i<n; ++i){
int pos;
cin >> pos;
a[i] = {pos,i};
init.emplace_back(pos);
}
vector<int> req;
for (int k=0; k<m; ++k){
int pos;
cin >> pos;
a[n+k] = {pos,n+k};
req.emplace_back(pos);
}
sort(a.begin(),a.end());
for (int i=0; i<n+m; ++i) to[a[i]] = i;
for (int i=0; i<n; ++i){
int pos = to[make_pair(init[i],i)];
update(1,0,n+m+4,pos,pos,init[i]);
update(1,0,n+m+4,pos+1,n+m+4,-d);
}
for (int i=0; i<m; ++i){
int pos = to[make_pair(req[i],i+n)];
update(1,0,n+m+4,pos,pos,req[i]);
update(1,0,n+m+4,pos+1,n+m+4,-d);
node ans = query(1,0,n+m+4,0,n+m+4)+2;
cout << ans.ans/2;
if (ans.ans&1) cout << ".5";
cout << ' ';
}
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
Main.cpp: In function 'int32_t main()': Main.cpp:93:38: error: no match for 'operator+' (operand types are 'node' and 'int') 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ~~~~~~~~~~~~~~~~~~~~~~~~^~ | | | | node int In file included from /usr/include/c++/10/bits/stl_algobase.h:67, from /usr/include/c++/10/bits/char_traits.h:39, from /usr/include/c++/10/ios:40, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:508:5: note: candidate: 'template<class _Iterator> std::reverse_iterator<_Iterator> std::operator+(typename std::reverse_iterator<_Iterator>::difference_type, const std::reverse_iterator<_Iterator>&)' 508 | operator+(typename reverse_iterator<_Iterator>::difference_type __n, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:508:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: mismatched types 'const std::reverse_iterator<_Iterator>' and 'int' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/bits/stl_algobase.h:67, from /usr/include/c++/10/bits/char_traits.h:39, from /usr/include/c++/10/ios:40, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/stl_iterator.h:1540:5: note: candidate: 'template<class _Iterator> std::move_iterator<_IteratorL> std::operator+(typename std::move_iterator<_IteratorL>::difference_type, const std::move_iterator<_IteratorL>&)' 1540 | operator+(typename move_iterator<_Iterator>::difference_type __n, | ^~~~~~~~ /usr/include/c++/10/bits/stl_iterator.h:1540:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: mismatched types 'const std::move_iterator<_IteratorL>' and 'int' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6022:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)' 6022 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6022:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:56, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.tcc:1160:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)' 1160 | operator+(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.tcc:1160:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: mismatched types 'const _CharT*' and 'node' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:56, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.tcc:1180:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)' 1180 | operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.tcc:1180:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'int' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6059:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)' 6059 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6059:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6075:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, _CharT)' 6075 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6075:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6087:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)' 6087 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6087:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6093:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&)' 6093 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6093:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6099:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&)' 6099 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6099:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6121:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&)' 6121 | operator+(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6121:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: mismatched types 'const _CharT*' and 'node' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6127:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(_CharT, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&)' 6127 | operator+(_CharT __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6127:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' and 'int' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6133:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, const _CharT*)' 6133 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6133:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/string:55, from /usr/include/c++/10/bits/locale_classes.h:40, from /usr/include/c++/10/bits/ios_base.h:41, from /usr/include/c++/10/ios:42, from /usr/include/c++/10/istream:38, from /usr/include/c++/10/sstream:38, from /usr/include/c++/10/complex:45, from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/bits/basic_string.h:6139:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Alloc> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&, _CharT)' 6139 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, | ^~~~~~~~ /usr/include/c++/10/bits/basic_string.h:6139:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/complex:331:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator+(const std::complex<_Tp>&, const std::complex<_Tp>&)' 331 | operator+(const complex<_Tp>& __x, const complex<_Tp>& __y) | ^~~~~~~~ /usr/include/c++/10/complex:331:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'const std::complex<_Tp>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/complex:340:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::operator+(const std::complex<_Tp>&, const _Tp&)' 340 | operator+(const complex<_Tp>& __x, const _Tp& __y) | ^~~~~~~~ /usr/include/c++/10/complex:340:5: note: template argument deduction/substitution failed: Main.cpp:93:39: note: 'node' is not derived from 'const std::complex<_Tp>' 93 | node ans = query(1,0,n+m+4,0,n+m+4)+2; | ^ In file included from /usr/include/c++/10/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54, from Main.cpp:1: /usr/include/c++/10/complex:349:5: note: candidate: 'template<class _Tp> std::complex<_Tp> std::