# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
388201 | Supersonic | Stations (IOI20_stations) | C++14 | 927 ms | 968 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "stations.h"
#include <bits/stdc++.h>
using namespace std;
int c[1001];set<int> a[1001];int l[1001];
int ch(int k,int p){
int t=a[k].size()-1;for(auto i:a[k])if(i!=p)t+=ch(i,k);
//if(k==0)for(auto i:a[k])cerr<<i<<'=';cout<<endl;
if(k==0)t++;c[k]=t;return t;
}
void as(int k,int p,int v,int g){
//cerr<<k<<' '<<p<<' '<<v<<' '<<g<<endl;
int j=v;l[k]=v;
for(auto i:a[k])if(i!=p){j+=(c[i]+1)*g;as(i,k,j,g*(-1));}
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
for(int i=0;i<n-1;i++){
a[u[i]].insert(v[i]);
a[v[i]].insert(u[i]);
}
int r=ch(0,-1);as(0,-1,0,1);
//for(int i=0;i<n;i++){cerr<<i<<'-'<<c[i]<<endl;}
vector<int> f;for(int i=0;i<n;i++){f.push_back(l[i]);//cerr<<i<<':'<<l[i]<<endl;
}
memset(c,0,sizeof(c));memset(l,0,sizeof(l));for(int i=0;i<1001;i++)a[i].clear();
return f;
}
int find_next_station(int s, int t, std::vector<int> c) {
int n=c.size();
//cerr<<s<<' '<<t<<endl;for(auto i:c)cerr<<i<<'-';cerr<<endl;
if(s==0){
for(int i=0;i<n;i++){if(t==c[i])return t;if(c[i]>t)return c[i];}
}
else if(s<c[0]){
if(t<s)return c[n-1];
for(int i=0;i<n-1;i++){if(t==c[i])return t;if(c[i]>t)return c[i];}
return c[n-1];
}
else{
if(t>s)return c[0];
for(int i=n-1;i>=1;i--){if(t==c[i])return t;if(t>c[i])return c[i];}
return c[0];
}
exit(1);
return c[0];
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |