Submission #1008644

#TimeUsernameProblemLanguageResultExecution timeMemory
1008644aaaaaarrozOvertaking (IOI23_overtaking)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int l, n, m, x; vector<ll>t; vector<ll>W; vector<ll>s; vector<vector<pair<ll, ll>>>time(1089,vector<pair<ll,ll>>()); vector<vector<ll>>dp(1089,vector<ll>(1089)); void init(int L,int N,vector<ll>T,vector<int>w,int X,int M,vector<int>S) { l=L; n=N; m=M; x=X; for (int i=0;i<1009;i++) { time[i].clear(); } for (int i=0;i<N;i++) { if (w[i]>x) { W.push_back(w[i]); t.push_back(T[i]); } } for (int i=0;i<M-1;i++) { s.push_back(S[i+1]-S[i]); } n=t.size(); for (int i=0;i<N;i++) { dp[i][0]=t[i]; } for (int j=1;j<m;j++) { vector<pair<ll,ll>>x; for (int i=0;i<N;i++){ x.push_back(make_pair(dp[i][j-1],i)); } sort(x.begin(),x.end()); ll mx=0,mx2=0; time[j].push_back(make_pair(-1,0)); for (int i=0;i<N;i++) { if (i!=0&&x[i].first>x[i-1].first) { mx=max(mx,mx2); } int v=x[i].second; dp[v][j]=max(mx,dp[v][j-1]+W[v]*s[j-1]); mx2=max(mx2,dp[v][j]); time[j].push_back(make_pair(x[i].first,max(mx,mx2))); } } } ll arrival_time(ll arriva) { ll cur=arrival; for (int i=1;i<m;i++) { int idx=lower_bound(time[i].begin(),time[i].end(),{cur,-1})-time[i].begin()-1; cur=max(cur+s[i-1]*x,time[i][idx].second); } return cur; }

Compilation message (stderr)

overtaking.cpp:8:33: error: 'std::vector<std::vector<std::pair<long long int, long long int> > > time' redeclared as different kind of entity
    8 | vector<vector<pair<ll, ll>>>time(1089,vector<pair<ll,ll>>());
      |                                 ^
In file included from /usr/include/c++/10/ctime:42,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:49,
                 from overtaking.cpp:1:
/usr/include/time.h:75:15: note: previous declaration 'time_t time(time_t*)'
   75 | extern time_t time (time_t *__timer) __THROW;
      |               ^~~~
overtaking.cpp: In function 'void init(int, int, std::vector<long long int>, std::vector<int>, int, int, std::vector<int>)':
overtaking.cpp:16:14: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   16 |        time[i].clear();
      |              ^
overtaking.cpp:16:16: error: request for member 'clear' in '*(time + ((sizetype)i))', which is of non-class type 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'}
   16 |        time[i].clear();
      |                ^~~~~
overtaking.cpp:38:15: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   38 |         time[j].push_back(make_pair(-1,0));
      |               ^
overtaking.cpp:38:17: error: request for member 'push_back' in '*(time + ((sizetype)j))', which is of non-class type 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'}
   38 |         time[j].push_back(make_pair(-1,0));
      |                 ^~~~~~~~~
overtaking.cpp:46:19: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   46 |             time[j].push_back(make_pair(x[i].first,max(mx,mx2)));
      |                   ^
overtaking.cpp:46:21: error: request for member 'push_back' in '*(time + ((sizetype)j))', which is of non-class type 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'}
   46 |             time[j].push_back(make_pair(x[i].first,max(mx,mx2)));
      |                     ^~~~~~~~~
overtaking.cpp: In function 'll arrival_time(ll)':
overtaking.cpp:51:12: error: 'arrival' was not declared in this scope; did you mean 'arriva'?
   51 |     ll cur=arrival;
      |            ^~~~~~~
      |            arriva
overtaking.cpp:53:35: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   53 |         int idx=lower_bound(time[i].begin(),time[i].end(),{cur,-1})-time[i].begin()-1;
      |                                   ^
overtaking.cpp:53:37: error: request for member 'begin' in '*(time + ((sizetype)i))', which is of non-class type 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'}
   53 |         int idx=lower_bound(time[i].begin(),time[i].end(),{cur,-1})-time[i].begin()-1;
      |                                     ^~~~~
overtaking.cpp:53:51: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   53 |         int idx=lower_bound(time[i].begin(),time[i].end(),{cur,-1})-time[i].begin()-1;
      |                                                   ^
overtaking.cpp:53:53: error: request for member 'end' in '*(time + ((sizetype)i))', which is of non-class type 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'}
   53 |         int idx=lower_bound(time[i].begin(),time[i].end(),{cur,-1})-time[i].begin()-1;
      |                                                     ^~~
overtaking.cpp:53:75: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   53 |         int idx=lower_bound(time[i].begin(),time[i].end(),{cur,-1})-time[i].begin()-1;
      |                                                                           ^
overtaking.cpp:53:77: error: request for member 'begin' in '*(time + ((sizetype)i))', which is of non-class type 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'}
   53 |         int idx=lower_bound(time[i].begin(),time[i].end(),{cur,-1})-time[i].begin()-1;
      |                                                                             ^~~~~
overtaking.cpp:54:36: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   54 |         cur=max(cur+s[i-1]*x,time[i][idx].second);
      |                                    ^
overtaking.cpp:54:41: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   54 |         cur=max(cur+s[i-1]*x,time[i][idx].second);
      |                                         ^
overtaking.cpp:54:43: error: request for member 'second' in '*(time + (((sizetype)i) + ((sizetype)idx)))', which is of non-class type 'time_t(time_t*) noexcept' {aka 'long int(long int*) noexcept'}
   54 |         cur=max(cur+s[i-1]*x,time[i][idx].second);
      |                                           ^~~~~~