Submission #871400

#TimeUsernameProblemLanguageResultExecution timeMemory
871400andrei_boacaStations (IOI20_stations)C++17
52.32 / 100
652 ms1504 KiB
#include "stations.h"
#include <bits/stdc++.h>
#include <vector>
//#include "stub.cpp"
using namespace std;
const int baza=1e8;
vector<int> muchii[1005];
int in[1005],out[1005],timp;
bool use[1005];
int n,k;
vector<int> ord;
vector<int> L;
int ch,ind;
void dfs(int nod)
{
    timp++;
    in[nod]=timp;
    use[nod]=1;
    for(int i:muchii[nod])
        if(!use[i])
            dfs(i);
    out[nod]=timp;
}
std::vector<int> label(int N, int K, std::vector<int> u, std::vector<int> v)
{
    n=N;
    k=K;
    L.clear();
    L.resize(n);
    ord.clear();
    timp=-1;
    for(int i=0;i<n;i++)
    {
        use[i]=0;
        muchii[i].clear();
    }
    for(int i=0;i<u.size();i++)
    {
        int a=u[i];
        int b=v[i];
        muchii[a].push_back(b);
        muchii[b].push_back(a);
    }
    dfs(0);
    for(int i=0;i<n;i++)
    {
        L[i]=in[i]*1000+out[i];
    }
    return L;
}

int find_next_station(int s, int t, std::vector<int> c)
{
    int l1=s/1000,r1=s%1000;
    int l2=t/1000,r2=t%1000;
    if(l1<=l2&&r1>=r2)
    {
        for(auto i:c)
        {
            int l3=i/1000,r3=i%1000;
            if(l3>l1&&l3<=l2&&r3>=r2)
                return i;
        }
    }
    return c[0];
}

Compilation message (stderr)

stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:37:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     for(int i=0;i<u.size();i++)
      |                 ~^~~~~~~~~
#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...