Submission #321881

# Submission time Handle Problem Language Result Execution time Memory
321881 2020-11-13T13:43:10 Z wildturtle Stations (IOI20_stations) C++14
10 / 100
920 ms 1120 KB
#include "stations.h"
#include<bits/stdc++.h>
using namespace std;
int A[1003],k,in[1003],out[1003],don[1003],mp[1003];
vector <int> v1[1003];
void dfs(int x,int y,int z) {
    k++; 
    in[x]=k;
    don[x]=z;
    for(int i=0;i<v1[x].size();i++) {
        if(v1[x][i]==y) continue;
        dfs(v1[x][i],x,z+1);
    }
    k++;
    out[x]=k;
}
std::vector<int> label(int n, int k, std::vector<int> u, std::vector<int> v) {
	std::vector<int> labels(n);
	for(int i=0;i<n;i++) {
	v1[i].clear();
	}
	for(int i=0;i<n-1;i++) {
	    v1[u[i]].push_back(v[i]);
	    v1[v[i]].push_back(u[i]);
	}
	dfs(0,-1,0);
	for(int i=0;i<n;i++) {
	    if(don[i]%2==0) A[i]=in[i];
	    else A[i]=out[i];
	}
	sort(A,A+n);
	for(int i=0;i<n;i++) {
	    mp[A[i]]=i;
	}
	for(int i=0;i<n;i++) {
	    if(don[i]%2==0) labels[i]=mp[in[i]];
	    else labels[i]=mp[out[i]];
	}
	return labels;
}
int find_next_station(int s, int t, std::vector<int> c) {
    if(s<c[0]) {
        for(int i=0;i<c.size()-1;i++) {
            if(i==0) {
                if(s+1<=t && t<=c[i]) return c[i];
            }
            else if(c[i-1]+1<=t && t<=c[i]) return c[i];
        }
        return c[c.size()-1];
    }
    else {
        for(int i=0;i<c.size();i++) {
            if(i==c.size()-1) {
                if(c[i]<=t && t<=s-1) return c[i];
            }
            else if(c[i]<=t && t<=c[i+1]-1) return c[i];
        }
        return c[0];
    }
}

Compilation message

stations.cpp: In function 'void dfs(int, int, int)':
stations.cpp:10:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |     for(int i=0;i<v1[x].size();i++) {
      |                 ~^~~~~~~~~~~~~
stations.cpp: In function 'int find_next_station(int, int, std::vector<int>)':
stations.cpp:43:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |         for(int i=0;i<c.size()-1;i++) {
      |                     ~^~~~~~~~~~~
stations.cpp:52:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |         for(int i=0;i<c.size();i++) {
      |                     ~^~~~~~~~~
stations.cpp:53:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |             if(i==c.size()-1) {
      |                ~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 492 KB Invalid labels (duplicates values). scenario=2, label=0
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 5 ms 768 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 492 KB Invalid labels (duplicates values). scenario=1, label=0
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 892 ms 864 KB Output is correct
2 Correct 665 ms 932 KB Output is correct
3 Correct 569 ms 992 KB Output is correct
4 Correct 3 ms 932 KB Output is correct
5 Correct 4 ms 864 KB Output is correct
6 Correct 2 ms 776 KB Output is correct
7 Correct 688 ms 864 KB Output is correct
8 Correct 920 ms 932 KB Output is correct
9 Correct 730 ms 992 KB Output is correct
10 Correct 738 ms 1120 KB Output is correct
11 Correct 7 ms 992 KB Output is correct
12 Correct 5 ms 864 KB Output is correct
13 Correct 5 ms 736 KB Output is correct
14 Correct 4 ms 932 KB Output is correct
15 Correct 2 ms 932 KB Output is correct
16 Correct 548 ms 736 KB Output is correct
17 Correct 532 ms 1036 KB Output is correct
18 Correct 533 ms 864 KB Output is correct
19 Correct 575 ms 736 KB Output is correct
20 Correct 539 ms 932 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 492 KB Invalid labels (duplicates values). scenario=1, label=0
2 Halted 0 ms 0 KB -