Submission #1154922

#TimeUsernameProblemLanguageResultExecution timeMemory
1154922alexddToy Train (IOI17_train)C++20
5 / 100
3 ms840 KiB
#include "train.h"
#include<bits/stdc++.h>
using namespace std;
int n;
vector<int> rez;
vector<int> a,r;
bool tori[5005],cyc[5005];
std::vector<int> who_wins(std::vector<int> cit_a, std::vector<int> cit_r, std::vector<int> u, std::vector<int> v)
{
    a = cit_a;
    r = cit_r;
    n = a.size();
    rez.resize(n);
    for(int i=0;i<u.size();i++)
    {
        if(u[i]==v[i])
            cyc[u[i]]=1;
        else
        {
            assert(v[i]==u[i]+1);
            tori[u[i]]=1;
        }
    }
    for(int s=0;s<n;s++)
    {
        rez[s]=0;
        int cur=s;
        while(1)
        {
            if(a[cur]==1)
            {
                if(r[cur]==1 && cyc[cur])
                {
                    rez[s]=1;
                    break;
                }
                if(!tori[cur])
                    break;
                cur++;
            }
            else
            {
                if(r[cur]==0 && cyc[cur])
                {
                    rez[s]=0;
                    break;
                }
                if(!tori[cur])
                {
                    assert(cyc[cur]);
                    if(r[cur]==1) rez[s]=1;
                    break;
                }
                cur++;
            }
        }
    }

    return rez;
}
#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...