Submission #702515

#TimeUsernameProblemLanguageResultExecution timeMemory
702515NemanjaSo2005Stations (IOI20_stations)C++14
0 / 100
880 ms672 KiB
#include<bits/stdc++.h>
#include "stations.h"
#define ll long long
using namespace std;
ll N,K,parnost[1005],in[1005],out[1005],vrem=0;
vector<ll> stablo[1005];
vector<int> L;
void dfs(ll gde,ll pret,int par=0){
   in[gde]=++vrem;
   parnost[gde]=par;
   for(int i=0;i<stablo[gde].size();i++)
      if(stablo[gde][i]!=pret)
         dfs(stablo[gde][i],gde,par^1);
   out[gde]=++vrem;
   return;
}
vector<int> label(int n,int k,vector<int> u,vector<int> v){
   N=n;
   K=k;
   for(ll i=0;i<N;i++)
      stablo[i].clear();
   for(ll i=0;i<N-1;i++){
      stablo[u[i]].push_back(v[i]);
      stablo[v[i]].push_back(u[i]);
   }
   vrem=0;
   dfs(0,0);
   for(int i=0;i<N;i++){
      in[i]--;
      out[i]--;
   }
   L.clear();
 //  cout<<"LABELE"<<endl;
   for(ll i=0;i<N;i++){
      if(parnost[i]==0)
         L.push_back(in[i]);
      else
         L.push_back(out[i]);
   //   cout<<i<<" "<<L[i]<<endl;
   }
   return L;
}

int find_next_station(int s,int t,vector<int> c){
   if(c.size()==1)
      return c[0];
   for(int i=0;i<c.size();i++)
      if(c[i]==t)
         return c[i];
   bool jein=true;
   for(int i=0;i<c.size();i++)
      if(c[i]<s)
         jein=false;
   sort(c.begin(),c.end());
   if(jein){///IN cvor
      if(t<s)
         return c[c.size()-1];
      for(int i=0;i<c.size();i++)
         if(c[i]>=t)
            return c[i];
      return c[c.size()-1];
   }
   ///Out cvor
   if(t>s)
      return c[0];
   for(int i=1;i<c.size();i++)
      if(t<c[i])
         return c[i-1];
   return c[0];
}

Compilation message (stderr)

stations.cpp: In function 'void dfs(long long int, long long int, int)':
stations.cpp:11:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 |    for(int i=0;i<stablo[gde].size();i++)
      |                ~^~~~~~~~~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:47:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |    for(int i=0;i<c.size();i++)
      |                ~^~~~~~~~~
stations.cpp:51:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |    for(int i=0;i<c.size();i++)
      |                ~^~~~~~~~~
stations.cpp:58:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |       for(int i=0;i<c.size();i++)
      |                   ~^~~~~~~~~
stations.cpp:66:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |    for(int i=1;i<c.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...