Submission #1209809

#TimeUsernameProblemLanguageResultExecution timeMemory
1209809a.pendovStations (IOI20_stations)C++20
Compilation error
0 ms0 KiB
#include "stations.h" #include <bits/stdc++.h> using namespace std; const long long MAXN=1009; long long sz[MAXN]; long long ans[MAXN]; bool vis[MAXN]; vector<int> edg[MAXN]; long long dfs(int start) { sz[start]=1; vis[start]=1; for(auto i:edg[start]) { if(!vis[i]) sz[start]+=dfs(i); } return sz[start]; } void solve(int start,bool b,int l,int r) { vis[start]=0; if(b) { ans[start]=r; r--; } else { ans[start]=l; l++; } for(auto i:edg[start]) { if(vis[i]){ solve(i,!b,l,l+sz[i]-1); l+=sz[i];} } } std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) { std::vector<int> labels(n); for(int i=0; i<n-1; i++) { edg[u[i]].push_back(v[i]); edg[v[i]].push_back(u[i]); } dfs(0); solve(0,1,0,n-1); bitset<n> bs; bool f=0; for(int i=0;i<n;i++) { if(bs[ans[i]])f=1; bs[ans[i]]=1; } if(!f)for(int i=0; i<n; i++)labels[i]=ans[i]; else for(int i=0; i<n; i++)labels[i]=i; return labels; } int find_next_station(int s, int t, std::vector<int> c) { sort(c.begin(),c.end()); return 0; if(s<c[0]) { if(t<s)return c[c.size()-1]; if(t>=c[c.size()-1])return c[c.size()-1]; for(int i=0; i<c.size()-1; i++) { if(t<=c[i])return c[i]; } } else { if(t>s)return c[0]; if(t<=c[0])return c[0]; for(int i=c.size()-1; i>0; i--) { if(t<=c[i])return c[i]; } } return 0; }

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:55:13: error: 'n' is not a constant expression
   55 |     bitset<n> bs;
      |             ^
stations.cpp:55:13: note: in template argument for type 'long unsigned int'
stations.cpp:59:14: error: invalid types 'int[long long int]' for array subscript
   59 |         if(bs[ans[i]])f=1;
      |              ^
stations.cpp:60:11: error: invalid types 'int[long long int]' for array subscript
   60 |         bs[ans[i]]=1;
      |           ^