Submission #1074352

# Submission time Handle Problem Language Result Execution time Memory
1074352 2024-08-25T09:59:53 Z zehnsechs Toy Train (IOI17_train) C++14
0 / 100
2000 ms 856 KB
#include "train.h"
#include<bits/stdc++.h>

using namespace std;


void dfs(int v, vector<int>& x, vector<int>& c, vector<vector<int>>& adj, vector<int>& res){
    if (x[v]) res[v]=1;
    cerr << "vertex " << v << '\n';    
    if(res[v]){
        for(int u: adj[v]){
            cerr << "n " << u << '\n';
            if (u==v) continue;
            c[u]--;
            if(c[u]==0 && !res[u]) {
                res[u]=1;
                dfs(u,x,c,adj,res);
            }
        }
    }
}


vector<int> who_wins(vector<int> a, vector<int> r, vector<int> u, vector<int> v) {
	int n = a.size();
        int m = u.size();
        vector<int> res(n,1);
        vector<int> loop(n,0);
        vector<int> cont(n,0);

        //add the edges to adj in the opposite direction
        for(int i=0;i<m;++i){
            if(u[i]==v[i]) loop[u[i]]=1;
            if(u[i]==v[i]-1) cont[u[i]]=1;
        }
      
        int last = 0;
        int curr = 0;
        while(curr < n){
            if(loop[curr] && r[curr]==a[curr]) {
                for(int i=last;i<=curr;++i){
                    res[i] = a[curr];
                }
                last = curr+1;
            }
            if(!cont[curr]){
                for(int i=last;i<=curr;++i){
                    res[i] = r[curr];
                last = curr+1;
            }

            ++curr;
        }
        }

	return res;
}
# Verdict Execution time Memory Grader output
1 Execution timed out 2088 ms 604 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2069 ms 348 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2045 ms 856 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2016 ms 856 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2051 ms 856 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 2088 ms 604 KB Time limit exceeded
2 Halted 0 ms 0 KB -