# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1253414 | DangerNoodle7591 | Watching (JOI13_watching) | C++20 | Compilation error | 0 ms | 0 KiB |
#include<bits/stdc++.h>
using namespace std;
#define lalala ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define int long long int
#define endl '\n'
#define N 2005
#define pb push_back
vector<int> arr;
int dp[N][N];
int solve(int n,int p,int q,int w){
dp[0][0]=-1;
for(int i=0;i<=p;i++){
for(int j=0;j<=q;j++){
dp[i][j]=-1;
if(i){
dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i-1][j]+1]+w-1 )-arr.begin() -1);
}
if(j){
dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i][j-1]+1]+w*2-1 )-arr.begin() -1);
}
//cout<<i<<" "<<j<<": "<<dp[i][j]<<endl;
if(dp[i][j]>=n-1)return 1;
}
}
return 0;
}
signed main(){
lalala;
int n,p,q;cin>>n>>p>>q;
for(int i=1;i<=n;i++){
int a;cin>>a;
arr.pb(a);
}
sort(arr.begin(),arr.end());
int l=1,r=1000000105;
int cev=-1;
//l=4;r=4;
while(l<=r){
int mid=(l+r)/2;
//cout<<mid<<endl;
if(solve(n,p,q,mid)){
cev=mid;
r=mid-1;
}
else l=mid+1;
}
cout<<cev<<endl;
}
Compilation message (stderr)
watching.cpp: In function 'long long int solve(long long int, long long int, long long int, long long int)': watching.cpp:18:21: error: no matching function for call to 'max(long long int&, __gnu_cxx::__normal_iterator<long long int*, std::vector<long long int> >::difference_type)' 18 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i-1][j]+1]+w-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from watching.cpp:1: /usr/include/c++/11/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)' 254 | max(const _Tp& __a, const _Tp& __b) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: watching.cpp:18:21: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__normal_iterator<long long int*, std::vector<long long int> >::difference_type' {aka 'long int'}) 18 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i-1][j]+1]+w-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from watching.cpp:1: /usr/include/c++/11/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: watching.cpp:18:21: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__normal_iterator<long long int*, std::vector<long long int> >::difference_type' {aka 'long int'}) 18 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i-1][j]+1]+w-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from watching.cpp:1: /usr/include/c++/11/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)' 3461 | max(initializer_list<_Tp> __l) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: watching.cpp:18:21: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int' 18 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i-1][j]+1]+w-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from watching.cpp:1: /usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' 3467 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: watching.cpp:18:21: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int' 18 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i-1][j]+1]+w-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ watching.cpp:21:21: error: no matching function for call to 'max(long long int&, __gnu_cxx::__normal_iterator<long long int*, std::vector<long long int> >::difference_type)' 21 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i][j-1]+1]+w*2-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from watching.cpp:1: /usr/include/c++/11/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)' 254 | max(const _Tp& __a, const _Tp& __b) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:254:5: note: template argument deduction/substitution failed: watching.cpp:21:21: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__normal_iterator<long long int*, std::vector<long long int> >::difference_type' {aka 'long int'}) 21 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i][j-1]+1]+w*2-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from watching.cpp:1: /usr/include/c++/11/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)' 300 | max(const _Tp& __a, const _Tp& __b, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:300:5: note: template argument deduction/substitution failed: watching.cpp:21:21: note: deduced conflicting types for parameter 'const _Tp' ('long long int' and '__gnu_cxx::__normal_iterator<long long int*, std::vector<long long int> >::difference_type' {aka 'long int'}) 21 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i][j-1]+1]+w*2-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from watching.cpp:1: /usr/include/c++/11/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)' 3461 | max(initializer_list<_Tp> __l) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3461:5: note: template argument deduction/substitution failed: watching.cpp:21:21: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int' 21 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i][j-1]+1]+w*2-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from watching.cpp:1: /usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)' 3467 | max(initializer_list<_Tp> __l, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3467:5: note: template argument deduction/substitution failed: watching.cpp:21:21: note: mismatched types 'std::initializer_list<_Tp>' and 'long long int' 21 | dp[i][j]=max(dp[i][j],upper_bound(arr.begin(),arr.end(),arr[dp[i][j-1]+1]+w*2-1 )-arr.begin() -1); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~