| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 843125 | abcvuitunggio | Overtaking (IOI23_overtaking) | C++17 | 컴파일 에러 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
v#include "overtaking.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const long long INF=2e18+10;
vector <pair <int, ll>> st;
vector <int> le,ri;
vector <pair <pair <ll, ll>, int>> v;
ll e[1001][1001],l[1001][1001],r[1001][1001],n,t[1001],w[1001],d,x,id;
void update(int node, ll l, ll r, ll u, ll v, pair <int, ll> p){
if (l>v||r<u||l>r||u>v||st[node].first==p.first)
return;
if (l>=u&&r<=v){
st[node]=min(st[node],p);
return;
}
ll mid=(l+r)>>1;
if (mid>=u){
if (le[node]==-1){
id++;
le[node]=id;
st.push_back({INF,INF});
le.push_back(-1);
ri.push_back(-1);
}
update(le[node],l,mid,u,v,p);
}
if (mid+1<=v&&mid+1<=r){
if (ri[node]==-1){
id++;
ri[node]=id;
st.push_back({INF,INF});
le.push_back(-1);
ri.push_back(-1);
}
update(ri[node],mid+1,r,u,v,p);
}
}
pair <int, ll> get(int node, ll l, ll r, ll i){
pair <int, ll> p={INF,i};
while (node!=-1){
p=min(p,st[node]);
ll mid=(l+r)>>1;
if (mid>=i){
r=mid;
node=le[node];
continue;
}
else{
l=mid+1;
node=ri[node];
}
}
return p;
}
void init(int L, int N, vector<ll> T, vector<int> W, int X, int m, vector<int> s)
{
d=L;
x=X;
for (int i=0;i<N;i++){
if (W[i]>x){
w[n]=W[i];
e[n][0]=t[n]=T[i];
n++;
}
}
for (int i=1;i<m;i++){
for (int j=0;j<n;j++)
v.push_back({{e[j][i-1],w[j]},j});
sort(v.begin(),v.end());
ll mx=0;
for (int it=0;it<v.size();it++){
int j=v[it].second;
mx=max(mx,e[j][i-1]+w[j]*(s[i]-s[i-1]));
e[j][i]=mx;
l[j][i-1]=e[j][i-1]+1;
r[j][i-1]=min((it==v.size()-1?INF:e[v[it+1].second][i-1]),mx-x*(s[i]-s[i-1]));
}
v.clear();
}
st.push_back({INF,INF});
le.push_back(-1);
ri.push_back(-1);
for (int i=m-1;i;i--){
for (int j=0;j<n;j++)
v.push_back({{e[j][i],w[j]},j});
sort(v.begin(),v.end());
for (auto p:v){
int j=p.second;
auto q=get(0,0,INF,e[j][i]+x*(d-s[i]));
update(0,0,INF,l[j][i-1]+x*(d-s[i-1]),r[j][i-1]+x*(d-s[i-1]),{i,q.second});
}
v.clear();
}
return;
}
ll arrival_time(ll y)
{
return get(0,0,INF,y+x*d).second;
}
컴파일 시 표준 에러 (stderr) 메시지
overtaking.cpp:1:2: error: stray '#' in program
1 | v#include "overtaking.h"
| ^
overtaking.cpp:1:1: error: 'v' does not name a type
1 | v#include "overtaking.h"
| ^
In file included from /usr/include/c++/10/cmath:43,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/ext/type_traits.h:162:35: error: 'bool __gnu_cxx::__is_null_pointer' redeclared as different kind of entity
162 | __is_null_pointer(std::nullptr_t)
| ^
/usr/include/c++/10/ext/type_traits.h:157:5: note: previous declaration 'template<class _Type> bool __gnu_cxx::__is_null_pointer(_Type)'
157 | __is_null_pointer(_Type)
| ^~~~~~~~~~~~~~~~~
/usr/include/c++/10/ext/type_traits.h:162:26: error: 'nullptr_t' is not a member of 'std'
162 | __is_null_pointer(std::nullptr_t)
| ^~~~~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/type_traits:402:26: error: 'std::size_t' has not been declared
402 | template<typename _Tp, std::size_t _Size>
| ^~~
/usr/include/c++/10/type_traits:403:25: error: '_Size' was not declared in this scope
403 | struct is_array<_Tp[_Size]>
| ^~~~~
/usr/include/c++/10/type_traits:403:31: error: template argument 1 is invalid
403 | struct is_array<_Tp[_Size]>
| ^
/usr/include/c++/10/type_traits:508:42: error: 'nullptr_t' is not a member of 'std'
508 | struct __is_null_pointer_helper<std::nullptr_t>
| ^~~~~~~~~
/usr/include/c++/10/type_traits:508:51: error: template argument 1 is invalid
508 | struct __is_null_pointer_helper<std::nullptr_t>
| ^
/usr/include/c++/10/type_traits:1351:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
1351 | : public integral_constant<std::size_t, alignof(_Tp)>
| ^~~~~~
In file included from /usr/include/stdlib.h:31,
from /usr/include/c++/10/bits/std_abs.h:38,
from /usr/include/c++/10/cmath:47,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here
209 | typedef __SIZE_TYPE__ size_t;
| ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/type_traits:1351:57: error: template argument 1 is invalid
1351 | : public integral_constant<std::size_t, alignof(_Tp)>
| ^
/usr/include/c++/10/type_traits:1351:57: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1360:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
1360 | : public integral_constant<std::size_t, 0> { };
| ^~~~~~
In file included from /usr/include/stdlib.h:31,
from /usr/include/c++/10/bits/std_abs.h:38,
from /usr/include/c++/10/cmath:47,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here
209 | typedef __SIZE_TYPE__ size_t;
| ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/type_traits:1360:46: error: template argument 1 is invalid
1360 | : public integral_constant<std::size_t, 0> { };
| ^
/usr/include/c++/10/type_traits:1360:46: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1362:26: error: 'std::size_t' has not been declared
1362 | template<typename _Tp, std::size_t _Size>
| ^~~
/usr/include/c++/10/type_traits:1363:21: error: '_Size' was not declared in this scope
1363 | struct rank<_Tp[_Size]>
| ^~~~~
/usr/include/c++/10/type_traits:1363:27: error: template argument 1 is invalid
1363 | struct rank<_Tp[_Size]>
| ^
/usr/include/c++/10/type_traits:1364:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
1364 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
| ^~~~~~
In file included from /usr/include/stdlib.h:31,
from /usr/include/c++/10/bits/std_abs.h:38,
from /usr/include/c++/10/cmath:47,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here
209 | typedef __SIZE_TYPE__ size_t;
| ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/type_traits:1364:65: error: template argument 1 is invalid
1364 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
| ^
/usr/include/c++/10/type_traits:1364:65: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1368:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
1368 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
| ^~~~~~
In file included from /usr/include/stdlib.h:31,
from /usr/include/c++/10/bits/std_abs.h:38,
from /usr/include/c++/10/cmath:47,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here
209 | typedef __SIZE_TYPE__ size_t;
| ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/type_traits:1368:65: error: template argument 1 is invalid
1368 | : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
| ^
/usr/include/c++/10/type_traits:1368:65: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1373:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
1373 | : public integral_constant<std::size_t, 0> { };
| ^~~~~~
In file included from /usr/include/stdlib.h:31,
from /usr/include/c++/10/bits/std_abs.h:38,
from /usr/include/c++/10/cmath:47,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here
209 | typedef __SIZE_TYPE__ size_t;
| ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/type_traits:1373:46: error: template argument 1 is invalid
1373 | : public integral_constant<std::size_t, 0> { };
| ^
/usr/include/c++/10/type_traits:1373:46: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1375:42: error: 'std::size_t' has not been declared
1375 | template<typename _Tp, unsigned _Uint, std::size_t _Size>
| ^~~
/usr/include/c++/10/type_traits:1376:23: error: '_Size' was not declared in this scope
1376 | struct extent<_Tp[_Size], _Uint>
| ^~~~~
/usr/include/c++/10/type_traits:1376:36: error: template argument 1 is invalid
1376 | struct extent<_Tp[_Size], _Uint>
| ^
/usr/include/c++/10/type_traits:1377:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
1377 | : public integral_constant<std::size_t,
| ^~~~~~
In file included from /usr/include/stdlib.h:31,
from /usr/include/c++/10/bits/std_abs.h:38,
from /usr/include/c++/10/cmath:47,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here
209 | typedef __SIZE_TYPE__ size_t;
| ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/type_traits:1378:24: error: '_Size' was not declared in this scope
1378 | _Uint == 0 ? _Size : extent<_Tp,
| ^~~~~
/usr/include/c++/10/type_traits:1379:28: error: template argument 1 is invalid
1379 | _Uint - 1>::value>
| ^
/usr/include/c++/10/type_traits:1379:28: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1384:37: error: 'size_t' is not a member of 'std'; did you mean 'size_t'?
1384 | : public integral_constant<std::size_t,
| ^~~~~~
In file included from /usr/include/stdlib.h:31,
from /usr/include/c++/10/bits/std_abs.h:38,
from /usr/include/c++/10/cmath:47,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/lib/gcc/x86_64-linux-gnu/10/include/stddef.h:209:23: note: 'size_t' declared here
209 | typedef __SIZE_TYPE__ size_t;
| ^~~~~~
In file included from /usr/include/c++/10/bits/move.h:57,
from /usr/include/c++/10/bits/stl_pair.h:59,
from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/type_traits:1386:31: error: template argument 1 is invalid
1386 | _Uint - 1>::value>
| ^
/usr/include/c++/10/type_traits:1386:31: note: invalid template non-type parameter
/usr/include/c++/10/type_traits:1975:26: error: 'std::size_t' has not been declared
1975 | template<typename _Tp, std::size_t _Size>
| ^~~
/usr/include/c++/10/type_traits:1976:30: error: '_Size' was not declared in this scope
1976 | struct remove_extent<_Tp[_Size]>
| ^~~~~
/usr/include/c++/10/type_traits:1976:36: error: template argument 1 is invalid
1976 | struct remove_extent<_Tp[_Size]>
| ^
/usr/include/c++/10/type_traits:1988:26: error: 'std::size_t' has not been declared
1988 | template<typename _Tp, std::size_t _Size>
| ^~~
/usr/include/c++/10/type_traits:1989:35: error: '_Size' was not declared in this scope
1989 | struct remove_all_extents<_Tp[_Size]>
| ^~~~~
/usr/include/c++/10/type_traits:1989:41: error: template argument 1 is invalid
1989 | struct remove_all_extents<_Tp[_Size]>
| ^
/usr/include/c++/10/type_traits:2047:12: error: 'std::size_t' has not been declared
2047 | template<std::size_t _Len>
| ^~~
/usr/include/c++/10/type_traits:2052:23: error: '_Len' was not declared in this scope
2052 | unsigned char __data[_Len];
| ^~~~
/usr/include/c++/10/type_traits:2067:12: error: 'std::size_t' has not been declared
2067 | template<std::size_t _Len, std::size_t _Align =
| ^~~
/usr/include/c++/10/type_traits:2067:30: error: 'std::size_t' has not been declared
2067 | template<std::size_t _Len, std::size_t _Align =
| ^~~
/usr/include/c++/10/type_traits:2068:48: error: '_Len' was not declared in this scope
2068 | __alignof__(typename __aligned_storage_msa<_Len>::__type)>
| ^~~~
/usr/include/c++/10/type_traits:2068:52: error: template argument 1 is invalid
2068 | __alignof__(typename __aligned_storage_msa<_Len>::__type)>
| ^
/usr/include/c++/10/type_traits:2073:23: error: '_Len' was not declared in this scope
2073 | unsigned char __data[_Len];
| ^~~~
/usr/include/c++/10/type_traits:2074:37: error: '_Align' was not declared in this scope
2074 | struct __attribute__((__aligned__((_Align)))) { } __align;
| ^~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:64,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/bits/stl_pair.h:92:12: error: 'std::size_t' has not been declared
92 | template<std::size_t...>
| ^~~
/usr/include/c++/10/bits/stl_pair.h:449:36: error: 'std::size_t' has not been declared
449 | template<typename... _Args1, std::size_t... _Indexes1,
| ^~~
/usr/include/c++/10/bits/stl_pair.h:450:36: error: 'std::size_t' has not been declared
450 | typename... _Args2, std::size_t... _Indexes2>
| ^~~
/usr/include/c++/10/bits/stl_pair.h:453:27: error: '_Indexes1' was not declared in this scope
453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
| ^~~~~~~~~
/usr/include/c++/10/bits/stl_pair.h:453:36: error: expected parameter pack before '...'
453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
| ^~~
/usr/include/c++/10/bits/stl_pair.h:453:39: error: template argument 1 is invalid
453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
| ^
/usr/include/c++/10/bits/stl_pair.h:453:55: error: '_Indexes2' was not declared in this scope
453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
| ^~~~~~~~~
/usr/include/c++/10/bits/stl_pair.h:453:64: error: expected parameter pack before '...'
453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
| ^~~
/usr/include/c++/10/bits/stl_pair.h:453:67: error: template argument 1 is invalid
453 | _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
| ^
In file included from /usr/include/c++/10/bits/stl_algobase.h:65,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/bits/stl_iterator_base_types.h:125:67: error: 'ptrdiff_t' does not name a type
125 | template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
| ^~~~~~~~~
In file included from /usr/include/c++/10/bits/stl_algobase.h:65,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/bits/stl_iterator_base_types.h:1:1: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
+++ |+#include <cstddef>
1 | // Types used in iterator implementation -*- C++ -*-
In file included from /usr/include/c++/10/bits/stl_algobase.h:65,
from /usr/include/c++/10/bits/specfun.h:45,
from /usr/include/c++/10/cmath:1927,
from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
from overtaking.cpp:2:
/usr/include/c++/10/bits/stl_iterator_base_types.h:214:15: error: 'ptrdiff_t' does not name a type
214 | typedef ptrdiff_t difference_type;
| ^~~~~~~~~
/usr/include/c++/10/bits/stl_iterator_base_types.h:214:15: note: 'ptrdiff_t' is defined in header '<cstddef>'; did you forget to '#include <cstddef>'?
/usr/include/c++/10/bits/st