Submission #425766

#TimeUsernameProblemLanguageResultExecution timeMemory
425766MOUF_MAHMALATToy Train (IOI17_train)C++14
10 / 100
2071 ms1176 KiB
#include "train.h"
#include<bits/stdc++.h>
using namespace std;
typedef int ll;
vector<vector<ll> >v;
ll n,id[5009];
bool b[5009],c[5009];
bool best(ll d,ll op)
{
    if(c[d])
        op=n;
    if(op==0)
        return 0;
    if(id[d]!=-1)
    {
        if(c[d])
            return 1;
        return best(id[d],op-1);
    }
    bool r=b[d]^1;
    for(auto z:v[d])
    {
        id[d]=z;
        if(b[d])
            r|=best(id[d],op-1);
        else
            r&=best(id[d],op-1);
        id[d]=-1;
    }
    return r;
}
vector<int> who_wins(vector<int> A, vector<int> R, vector<int> from, vector<int> to)
{
    n=A.size();
    v.resize(n);
    for(ll i=0; i<to.size(); i++)
        v[from[i]].push_back(to[i]);
    for(ll i=0; i<n; i++)
        b[i]=A[i],c[i]=R[i];
    vector<ll>ans;
    memset(id,-1,sizeof id);
    for(ll i=0; i<n; i++)
        ans.push_back(best(i,n));
    return ans;
}

Compilation message (stderr)

train.cpp: In function 'std::vector<int> who_wins(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
train.cpp:36:18: warning: comparison of integer expressions of different signedness: 'll' {aka 'int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for(ll i=0; i<to.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...
#Verdict Execution timeMemoryGrader output
Fetching results...