Submission #848051

#TimeUsernameProblemLanguageResultExecution timeMemory
848051LibOvertaking (IOI23_overtaking)C++17
Compilation error
0 ms0 KiB
#include "overtaking.h" #include <bits/stdc++.h> using namespace std; long long rspeed[1003]; long long spos[1003]; long long stime[1003]; long long arrtime[1003][1003]; //thoi gian xe k den ben i pair<long long, int> sarrtime[1003][1003]; vector <pair<long long, int> > previ; long long ok[1003]; long long atime[1003]; void init(int L, int N, std::vector<long long> T, std::vector<int> W, int X, int M, std::vector<int> S) { long long len=L,spd=X; int n=N+1,m=M+1; long long cmax; for(int i=1;i<=n;i++){ stime[i]=T[i-1]; arrtime[1][i]=stime[i]; sarrtime[1][i]={stime[i],i}; previ.push_back({stime[i],i}); } for(int i=1;i<=n;i++){ rspeed[i]=W[i-1]; } for(int i=1;i<=m;i++){ spos[i]=S[i-1]; } for(int i=2;i<=m;i++){ previ.push_back({0,0}); sort(previ.begin(),previ.end()); arrtime[i][previ[1].second]=arrtime[i-1][previ[1].second]+(spos[i]-spos[i-1])*rspeed[previ[1].second]; cmax=arrtime[i][previ[1].second]; for(int k=2;k<=n;k++){ cmax=max(cmax,previ[k].first+(spos[i]-spos[i-1])*rspeed[previ[k].second]); arrtime[i][previ[k].second]=cmax; sarrtime[i][previ[k].second]={arrtime[i][previ[k].second],previ[k].second}; } previ.clear(); for(int k=1;k<=n;k++){ previ.push_back({arrtime[i][k],k}); } } } long long arrival_time(long long Y){ for(int i=1;i<=N;i++){ if(arrtime[1][i]>Y){ ok[i]=0; }else{ ok[i]=1; } } atime[1]=Y; for(int i=2;i<=M;i++){ atime[i]=atime[i-1]+(spos[i]-spos[i-1])*spd; for(int k=1;k<=N;k++){ if(atime[i-1]<=arrtime[i-1][k]){ ok[k]=0; } if(ok[k]==1){ atime[i]=max(atime[i],arrtime[i][k]); } } } return atime[M]; }

Compilation message (stderr)

overtaking.cpp: In function 'void init(int, int, std::vector<long long int>, std::vector<int>, int, int, std::vector<int>)':
overtaking.cpp:14:15: warning: unused variable 'len' [-Wunused-variable]
   14 |     long long len=L,spd=X;
      |               ^~~
overtaking.cpp:14:21: warning: unused variable 'spd' [-Wunused-variable]
   14 |     long long len=L,spd=X;
      |                     ^~~
overtaking.cpp: In function 'long long int arrival_time(long long int)':
overtaking.cpp:47:17: error: 'N' was not declared in this scope
   47 |  for(int i=1;i<=N;i++){
      |                 ^
overtaking.cpp:55:17: error: 'M' was not declared in this scope
   55 |  for(int i=2;i<=M;i++){
      |                 ^
overtaking.cpp:56:43: error: 'spd' was not declared in this scope; did you mean 'std'?
   56 |   atime[i]=atime[i-1]+(spos[i]-spos[i-1])*spd;
      |                                           ^~~
      |                                           std
overtaking.cpp:57:18: error: 'N' was not declared in this scope
   57 |   for(int k=1;k<=N;k++){
      |                  ^
overtaking.cpp:66:15: error: 'M' was not declared in this scope
   66 |  return atime[M];
      |               ^