Submission #552733

#TimeUsernameProblemLanguageResultExecution timeMemory
552733nekiStations (IOI20_stations)C++14
0 / 100
749 ms676 KiB
#include <bits/stdc++.h>

using namespace std;

#define vc vector
#define fore(v, a) for(auto v:a)

vc<int> label(int n, int k, vc<int> U, vc<int> V){
    vc<vc<int>> edg(n);
    for(int e=0;e<n-1;++e){
        edg[U[e]].push_back(V[e]);
        edg[V[e]].push_back(U[e]);
    }
    
    vc<int> ret(n);
    int cnt=0;
    function<void (int, int, int)> dfs=[&](int u, int p, int hei){
        if(hei%2==0)ret[u]=++cnt;
        fore(v, edg[u]) if(v!=p) dfs(v, u, hei+1);
        if(hei%2==1)ret[u]=++cnt;
    };
    dfs(0, -1, 0);
    return ret;
}
int find_next_station(int s, int t, vc<int> c){
    sort(c.begin(), c.end());
    if(s==0) for(int i=0;i<c.size();++i) if(t<=c[i]) return c[i];
    else{
        if(s<c[0]){//je prvi se dal
            if(t<s) return c.back();
            for(int i=0;i<c.size()-1;++i) if(t<=c[i]) return c[i];
            return c.back();
        }
        if(s>c.back()){
            if(t>s) return c[0];
            for(int i=c.size();i>=1;--i) if(c[i]<=t) return c[i];
            return c[0];
        }
    }
}

Compilation message (stderr)

stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:27:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |     if(s==0) for(int i=0;i<c.size();++i) if(t<=c[i]) return c[i];
      |                          ~^~~~~~~~~
stations.cpp:31:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |             for(int i=0;i<c.size()-1;++i) if(t<=c[i]) return c[i];
      |                         ~^~~~~~~~~~~
stations.cpp:27:7: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
   27 |     if(s==0) for(int i=0;i<c.size();++i) if(t<=c[i]) return c[i];
      |       ^
stations.cpp:40:1: warning: control reaches end of non-void function [-Wreturn-type]
   40 | }
      | ^
#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...