Submission #1219267

#TimeUsernameProblemLanguageResultExecution timeMemory
1219267LeonidCuk기지국 (IOI20_stations)C++20
76 / 100
303 ms624 KiB
#include <bits/stdc++.h>
#include "stations.h"
using namespace std;
void dfs(int a,int b,vector<vector<int>>&g,vector<pair<int,int>>&res,int &timer,int d)
{
    if(d%2==0)res.push_back({timer,a});
    timer++;
    for(auto i:g[a])
    {
        if(i!=b)dfs(i,a,g,res,timer,d+1);
    }
    if(d%2==1)res.push_back({timer,a});
    timer++;
}
vector<int> label(int n, int k, vector<int> u, vector<int> v)
{
    vector<vector<int>>g(n);
    vector<int>ans(n);
    for(int i=0;i<n-1;i++)
    {
        g[u[i]].push_back(v[i]);
        g[v[i]].push_back(u[i]);
    }
    vector<pair<int,int>>res;
    int timer;
    dfs(0,0,g,res,timer,0);
    sort(res.begin(),res.end());
    for(int i=0;i<n;i++)
    {
        ans[res[i].second]=res[i].first;
    }
    return ans;
}
int find_next_station(int s, int t, vector<int> v)
{
    if(s==0)
    {
        for(auto i:v)
        {
            if(t<=i)return i;
        }
    }
    else if(v[0]<s)
    {
        for(int i=1;i<v.size();i++)
        {
            if(i+1==v.size())
            {
                if(v[i]<=t&&t<s)return v[i];
            }
            else
            {
                if(v[i]<=t&&t<v[i+1])return v[i];
            }
        }
        return v[0];
    }
    else
    {
        for(int i=0;i<v.size()-1;i++)
        {
            if(i==0)
            {
                if(s<t&&t<=v[i])return v[i];
            }
            else
            {
                if(v[i-1]<t&&t<=v[i])return v[i];
            }
        }
        return v[v.size()-1];
    }
}

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:73:1: warning: control reaches end of non-void function [-Wreturn-type]
   73 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...