Submission #343671

#TimeUsernameProblemLanguageResultExecution timeMemory
343671TosicBigger segments (IZhO19_segments)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h>
#define maxn 500010
using namespace std;

long long n, ans, a[maxn], pr[maxn], prMax[maxn], curS, prevSum;

int main(){
	ios_base::sync_with_stdio(0);
	cout.tie(0);
	cin.tie(0);
	cin >> n;
	for(int i = 1; i <= n; ++i){
		cin >> a[i];
		a[i] += a[i-1];
	}
	for(int i = 1; i <= n; ++i){
		int l = 1, r = n, prIdx = 0;
		while(l <= r){
			int mid = (l + r)/2;
			while(prIdx < i and 1.0*a[prIdx+1] <= 1.0*(mid-1)*a[i]/(mid)){
				++prIdx;
			}
			while(prIdx > 0 and 1.0*a[prIdx] > 1.0*(mid-1)*a[i]/mid){
				--prIdx;
			}
			if(prMax[prIdx] >= mid-1){
				prMax[i] = max(prMax[i], mid); l = mid + 1;
			} else {
				r = mid - 1;
			}
		}
		prMax[i] = max(prMax[i-1], prMax[i]);
	}
	cout << prMax[n];
}

Compilation message (stderr)

segments.cpp: In function 'int main()':
segments.cpp:27:33: error: no matching function for call to 'max(long long int&, int&)'
   27 |     prMax[i] = max(prMax[i], mid); l = mid + 1;
      |                                 ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from segments.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:222:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  222 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:222:5: note:   template argument deduction/substitution failed:
segments.cpp:27:33: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   27 |     prMax[i] = max(prMax[i], mid); l = mid + 1;
      |                                 ^
In file included from /usr/include/c++/9/bits/char_traits.h:39,
                 from /usr/include/c++/9/ios:40,
                 from /usr/include/c++/9/istream:38,
                 from /usr/include/c++/9/sstream:38,
                 from /usr/include/c++/9/complex:45,
                 from /usr/include/c++/9/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:54,
                 from segments.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h:268:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  268 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algobase.h:268:5: note:   template argument deduction/substitution failed:
segments.cpp:27:33: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   27 |     prMax[i] = max(prMax[i], mid); l = mid + 1;
      |                                 ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from segments.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3456:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3456 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
segments.cpp:27:33: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   27 |     prMax[i] = max(prMax[i], mid); l = mid + 1;
      |                                 ^
In file included from /usr/include/c++/9/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:65,
                 from segments.cpp:1:
/usr/include/c++/9/bits/stl_algo.h:3462:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3462 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/9/bits/stl_algo.h:3462:5: note:   template argument deduction/substitution failed:
segments.cpp:27:33: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   27 |     prMax[i] = max(prMax[i], mid); l = mid + 1;
      |                                 ^