Submission #537937

# Submission time Handle Problem Language Result Execution time Memory
537937 2022-03-15T22:30:48 Z groshi Stations (IOI20_stations) C++17
0 / 100
763 ms 792 KB
#include<iostream>
#include<vector>
#include<algorithm>
#include<stations.h>
using namespace std;
int kiedy=0,kiedy2=0;
int odw[1010];
vector<int> Q[1010];
int moj_koniec[2000];
int bylam[2000];
void dfs(int x)
{
    odw[x]=kiedy;
    kiedy++;
    bylam[x]=1;
    for(int i=0;i<Q[x].size();i++)
    {
        int pom=Q[x][i];
        if(bylam[pom]!=0)
            continue;
        dfs(pom);
    }
    moj_koniec[odw[x]]=kiedy2;
    kiedy2++;
}
vector<int> label(int n,int k,vector<int> u,vector<int> v)
{
    for(int i=0;i<=n+3;i++)
    {
        odw[i]=0;
        moj_koniec[i]=0;
        bylam[i]=0;
    }
    for(int i=0;i<=n+3;i++)
        Q[i].clear();
    kiedy=0;
    kiedy2=0;
    for(int i=0;i<u.size();i++)
    {
        u[i]++;
        v[i]++;
        Q[u[i]].push_back(v[i]);
        Q[v[i]].push_back(u[i]);
    }
    dfs(1);
    vector<int> wypisz;
    for(int i=1;i<=n;i++)
        wypisz.push_back(odw[i]);
    return wypisz;
}
int find_next_station(int s,int t,vector<int> c)
{
    sort(c.begin(),c.end());
    if(t<s)
        return c[0];
    if(moj_koniec[t]>moj_koniec[s])
        return c[0];
    if(s==0)
    for(int i=0;i<c.size();i++)
    {
        if(t>=c[i] && moj_koniec[t]<=moj_koniec[c[i]])
            return c[i];
    }
    else for(int i=1;i<c.size();i++)
    {
        if(t>=c[i] && moj_koniec[t]<=moj_koniec[c[i]])
            return c[i];
    }
    return c[0];
}

Compilation message

stations.cpp: In function 'void dfs(int)':
stations.cpp:16:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |     for(int i=0;i<Q[x].size();i++)
      |                 ~^~~~~~~~~~~~
stations.cpp: In function 'std::vector<int> label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:38:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |     for(int i=0;i<u.size();i++)
      |                 ~^~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:59:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |     for(int i=0;i<c.size();i++)
      |                 ~^~~~~~~~~
stations.cpp:64:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |     else for(int i=1;i<c.size();i++)
      |                      ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 443 ms 672 KB Wrong query response.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 393 ms 540 KB Wrong query response.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 443 ms 792 KB Wrong query response.
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 763 ms 652 KB Output is correct
2 Incorrect 544 ms 536 KB Wrong query response.
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 508 ms 544 KB Wrong query response.
2 Halted 0 ms 0 KB -