답안 #99184

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
99184 2019-03-01T15:15:22 Z figter001 고대 책들 (IOI17_books) C++14
컴파일 오류
0 ms 0 KB
#include "books.h"
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
const int nax = 1e6+50;

ll ans,sum[nax];

ll minimum_walk(vector<int> p, int s) {
	ans = 0;
	int n = p.size();
	int to = 0;
	for(int i=0;i<n;i++){
		int l = min(i,p[i]);
		int r = max(i,p[i]);
		sum[l]++;
		sum[r]--;
		if(i != p[i])
			to = i;
	}
	for(int i=0;i<to;i++){
		if(i)sum[i] += sum[i-1];
		ans += max(2,sum[i]);
	}
	return ans;
}

Compilation message

books.cpp: In function 'll minimum_walk(std::vector<int>, int)':
books.cpp:27:22: error: no matching function for call to 'max(int, ll&)'
   ans += max(2,sum[i]);
                      ^
In file included from /usr/include/c++/7/vector:60:0,
                 from books.h:1,
                 from books.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:
books.cpp:27:22: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'll {aka long long int}')
   ans += max(2,sum[i]);
                      ^
In file included from /usr/include/c++/7/vector:60:0,
                 from books.h:1,
                 from books.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:
books.cpp:27:22: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'll {aka long long int}')
   ans += max(2,sum[i]);
                      ^
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 books.cpp:2:
/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:
books.cpp:27:22: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   ans += max(2,sum[i]);
                      ^
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 books.cpp:2:
/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:
books.cpp:27:22: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   ans += max(2,sum[i]);
                      ^