Submission #111647

#TimeUsernameProblemLanguageResultExecution timeMemory
111647andremfqRice Hub (IOI11_ricehub)C++17
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include"ricehub.h" #define debug(args...) fprintf(stderr,args) using namespace std; const int MAXR=100010; long long int R,L,X[MAXR]; long long int sp1[MAXR],sp2[MAXR],resp,x[MAXR]; long long int B; int besthub(int r,int l,int v[],long long int b) { sort(v,v+r); for(int i=0;i<r;i++) x[i+1]=v[i]; for(int i=2;i<=r;i++) sp1[i]=sp1[i-1]+x[i]; for(int i=r-1;i>0;i--) sp2[i]=sp2[i+1]+x[i]; int ini=1, fim=1; while(fim<r) { if(ini>fim) fim++; int m=(ini+fim)/2; int op1=sp1[fim]-sp1[m]-((fim-m)*x[m]); int op2=sp1[m-1]-sp1[ini-1]-((m-1-ini)*(x[r]-x[m])); if(op1+op2<=b) fim++, resp=max(resp,fim-ini+1); else ini++; } return resp; } /* int main () { scanf("%lld %lld",&R,&L); for(int i=0;i<R;i++) scanf("%lld",&X[i]); scanf("%lld",&B); long long int RESP=besthub(R,L,X,B); printf("%lld\n",RESP); } /* 5 20 1 2 10 12 14 6 */

Compilation message (stderr)

ricehub.cpp:50:1: warning: "/*" within comment [-Wcomment]
 /*
  
ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:31:48: error: no matching function for call to 'max(long long int&, int)'
   if(op1+op2<=b) fim++, resp=max(resp,fim-ini+1);
                                                ^
In file included from /usr/include/c++/7/bits/specfun.h:45:0,
                 from /usr/include/c++/7/cmath:1914,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41,
                 from ricehub.cpp:1:
/usr/include/c++/7/bits/stl_algobase.h:219:5: note: candidate: template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)
     max(const _Tp& __a, const _Tp& __b)
     ^~~
/usr/include/c++/7/bits/stl_algobase.h:219:5: note:   template argument deduction/substitution failed:
ricehub.cpp:31:48: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   if(op1+op2<=b) fim++, resp=max(resp,fim-ini+1);
                                                ^
In file included from /usr/include/c++/7/bits/specfun.h:45:0,
                 from /usr/include/c++/7/cmath:1914,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41,
                 from ricehub.cpp:1:
/usr/include/c++/7/bits/stl_algobase.h:265:5: note: candidate: template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)
     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^~~
/usr/include/c++/7/bits/stl_algobase.h:265:5: note:   template argument deduction/substitution failed:
ricehub.cpp:31:48: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   if(op1+op2<=b) fim++, resp=max(resp,fim-ini+1);
                                                ^
In file included from /usr/include/c++/7/algorithm:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:65,
                 from ricehub.cpp:1:
/usr/include/c++/7/bits/stl_algo.h:3462:5: note: candidate: template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)
     max(initializer_list<_Tp> __l)
     ^~~
/usr/include/c++/7/bits/stl_algo.h:3462:5: note:   template argument deduction/substitution failed:
ricehub.cpp:31:48: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   if(op1+op2<=b) fim++, resp=max(resp,fim-ini+1);
                                                ^
In file included from /usr/include/c++/7/algorithm:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:65,
                 from ricehub.cpp:1:
/usr/include/c++/7/bits/stl_algo.h:3468:5: note: candidate: template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)
     max(initializer_list<_Tp> __l, _Compare __comp)
     ^~~
/usr/include/c++/7/bits/stl_algo.h:3468:5: note:   template argument deduction/substitution failed:
ricehub.cpp:31:48: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   if(op1+op2<=b) fim++, resp=max(resp,fim-ini+1);
                                                ^