# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
107175 | abil | 수열 (APIO14_sequence) | C++14 | 컴파일 에러 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
quence
#include <bits/stdc++.h>
#define int long long
#define mk make_pair
#define sc second
#define fr first
#define pb emplace_back
#define all(s) s.begin(), s.end()
#define sz(s) ( (int)s.size() )
#define Scan(a) scanf ("%I64d", &a)
#define scan(a) scanf ("%d", &a)
using namespace std;
const int N = (int)100007;
int n, k, arr[N], pr[N], par[N][207];
int dp1[N][3],dp[N][207];
int calc(int l,int r){
return pr[l] * (pr[r] - pr[l]);
}
void solve(int k,int l,int r,int optl,int optr){
if(l > r){
return;
}
int mid = (l + r) >> 1;
int opt = optl;
dp1[mid][k % 2] = 0;
for(int i = optl;i <= min(mid,optr); i++){
int cur = dp1[i][((k - 1) % 2)] + calc(i,mid);
if(cur >= dp1[mid][k % 2]){
dp1[mid][k % 2] = cur;
opt = i;
}
}
par[mid][k] = opt;
solve(k,l,mid - 1,optl,opt);
solve(k,mid + 1,r,opt,optr);
}
main(){
cin >> n >> k;
for(int i = 1;i <= n; i++){
cin >> arr[i];
pr[i] = pr[i - 1] + arr[i];
}
if(n < 10000){
for(int g = 1;g <= k; g++){
for(int i = 1;i <= n; i++){
for(int j = 1;j < i; j++){
if(dp[i][g] <= dp[j][g - 1] + (pr[j] * (pr[i] - pr[j]))){
par[i][g] = j;
dp[i][g] = dp[j][g - 1] + (pr[j] * (pr[i] - pr[j]));
}
}
}
}
cout << dp[n][k] << endl;
vector<int > ans;
while(par[n][k]){
ans.pb(par[n][k]);
n = par[n][k];
k--;
}
for(int i = ans.size() - 1; i >= 0; i--){
cout << ans[i] << " ";
}
return 0;
}
for(int i = 1;i <= k; i++){
solve(i,1,n,1,n);
}
cout << dp1[n][k % 2] << '\n';
vector<int > ans;
while(par[n][k]){
ans.pb(par[n][k]);
n = par[n][k];
k--;
}
for(int i = ans.size() - 1; i >= 0; i--){
cout << ans[i] << " ";
}
}
/*
7 3
4 1 3 4 0 2 3
*/
컴파일 시 표준 에러 (stderr) 메시지
sequence.cpp:1:1: error: 'quence' does not name a type quence ^~~~~~ In file included from /usr/include/c++/7/cmath:43:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/include/c++/7/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of symbol __is_null_pointer(std::nullptr_t) ^ /usr/include/c++/7/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)' __is_null_pointer(_Type) ^~~~~~~~~~~~~~~~~ /usr/include/c++/7/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std' __is_null_pointer(std::nullptr_t) ^~~~~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/new:120:31: error: declaration of 'operator new' as non-function void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) ^ /usr/include/c++/7/new:120:25: error: 'size_t' is not a member of 'std' void* operator new(std::size_t) _GLIBCXX_THROW (std::bad_alloc) ^~~~~~ /usr/include/c++/7/new:120:25: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/new:122:33: error: declaration of 'operator new []' as non-function void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) ^ /usr/include/c++/7/new:122:27: error: 'size_t' is not a member of 'std' void* operator new[](std::size_t) _GLIBCXX_THROW (std::bad_alloc) ^~~~~~ /usr/include/c++/7/new:122:27: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/new:129:34: error: 'std::size_t' has not been declared void operator delete(void*, std::size_t) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:131:36: error: 'std::size_t' has not been declared void operator delete[](void*, std::size_t) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:134:25: error: declaration of 'operator new' as non-function void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:134:25: error: 'size_t' is not a member of 'std' /usr/include/c++/7/new:134:25: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/new:134:33: error: expected primary-expression before 'const' void* operator new(std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT ^~~~~ /usr/include/c++/7/new:136:27: error: declaration of 'operator new []' as non-function void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:136:27: error: 'size_t' is not a member of 'std' /usr/include/c++/7/new:136:27: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/new:136:35: error: expected primary-expression before 'const' void* operator new[](std::size_t, const std::nothrow_t&) _GLIBCXX_USE_NOEXCEPT ^~~~~ /usr/include/c++/7/new:168:32: error: declaration of 'operator new' as non-function inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:168:32: error: 'size_t' is not a member of 'std' /usr/include/c++/7/new:168:32: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/new:168:40: error: expected primary-expression before 'void' inline void* operator new(std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT ^~~~ /usr/include/c++/7/new:170:34: error: declaration of 'operator new []' as non-function inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT ^~~~~~ /usr/include/c++/7/new:170:34: error: 'size_t' is not a member of 'std' /usr/include/c++/7/new:170:34: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/exception_ptr.h:40:0, from /usr/include/c++/7/exception:142, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/new:170:42: error: expected primary-expression before 'void' inline void* operator new[](std::size_t, void* __p) _GLIBCXX_USE_NOEXCEPT ^~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/nested_exception.h:40, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/type_traits:362:31: error: 'std::size_t' has not been declared template<typename _Tp, std::size_t _Size> ^~~~~~ /usr/include/c++/7/type_traits:363:25: error: '_Size' was not declared in this scope struct is_array<_Tp[_Size]> ^~~~~ /usr/include/c++/7/type_traits:363:31: error: template argument 1 is invalid struct is_array<_Tp[_Size]> ^ /usr/include/c++/7/type_traits:561:42: error: 'nullptr_t' is not a member of 'std' struct __is_null_pointer_helper<std::nullptr_t> ^~~~~~~~~ /usr/include/c++/7/type_traits:561:42: note: suggested alternative: In file included from /usr/include/c++/7/cstddef:50:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:45, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:444:29: note: 'nullptr_t' typedef decltype(nullptr) nullptr_t; ^~~~~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/nested_exception.h:40, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/type_traits:561:42: error: 'nullptr_t' is not a member of 'std' struct __is_null_pointer_helper<std::nullptr_t> ^~~~~~~~~ /usr/include/c++/7/type_traits:561:42: note: suggested alternative: In file included from /usr/include/c++/7/cstddef:50:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:45, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:444:29: note: 'nullptr_t' typedef decltype(nullptr) nullptr_t; ^~~~~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/nested_exception.h:40, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/type_traits:561:51: error: template argument 1 is invalid struct __is_null_pointer_helper<std::nullptr_t> ^ /usr/include/c++/7/type_traits:1464:37: error: 'size_t' is not a member of 'std' : public integral_constant<std::size_t, __alignof__(_Tp)> { }; ^~~~~~ /usr/include/c++/7/type_traits:1464:37: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/nested_exception.h:40, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/type_traits:1464:37: error: 'size_t' is not a member of 'std' : public integral_constant<std::size_t, __alignof__(_Tp)> { }; ^~~~~~ /usr/include/c++/7/type_traits:1464:37: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/nested_exception.h:40, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/type_traits:1464:61: error: template argument 1 is invalid : public integral_constant<std::size_t, __alignof__(_Tp)> { }; ^ /usr/include/c++/7/type_traits:1464:61: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1469:37: error: 'size_t' is not a member of 'std' : public integral_constant<std::size_t, 0> { }; ^~~~~~ /usr/include/c++/7/type_traits:1469:37: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/nested_exception.h:40, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/type_traits:1469:37: error: 'size_t' is not a member of 'std' : public integral_constant<std::size_t, 0> { }; ^~~~~~ /usr/include/c++/7/type_traits:1469:37: note: suggested alternative: In file included from /usr/include/stdlib.h:32:0, from /usr/include/c++/7/bits/std_abs.h:38, from /usr/include/c++/7/cmath:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from sequence.cpp:2: /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h:216:23: note: 'size_t' typedef __SIZE_TYPE__ size_t; ^~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/nested_exception.h:40, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from sequence.cpp:2: /usr/include/c++/7/type_traits:1469:46: error: template argument 1 is invalid : public integral_constant<std::size_t, 0> { }; ^ /usr/include/c++/7/type_traits:1469:46: note: invalid template non-type parameter /usr/include/c++/7/type_traits:1471:31: error: 'std::size_t' has not been declared template<typename _Tp, std::size_t _Size> ^~~~~~ /usr/include/c++/7/type_traits:1472:21: error: '_Size' was not declared in this scope struct rank<_Tp