Submission #1037514

#TimeUsernameProblemLanguageResultExecution timeMemory
1037514sleepntsheepToy Train (IOI17_train)C++14
5 / 100
5 ms880 KiB
#include "train.h"

std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) {
    int n = a.size();
    int m = u.size();

    std::vector<int> loop(n), go(n);
    for (int i = 0; i < m; ++i)
        if (u[i] == v[i])
            loop[u[i]] = 1;
        else
            go[u[i]] = 1;

	std::vector<int> res(n);

    if (r[n-1])
        res[n-1] = 1;

    for (int i = n - 2; i >= 0; --i) {
        if (a[i]) {
            if (loop[i]) {
                if (r[i])
                    res[i] = 1;
                else {
                    if (go[i]) res[i] = res[i + 1];
                    else res[i] = 0;
                }
            } else res[i] = res[i + 1];
        } else {
            if (loop[i]) {
                if (r[i]) {
                    if (go[i]) res[i] = res[i + 1];
                    else res[i] = 1;
                }
                else res[i] = 0;
            } else res[i] = res[i + 1];
        }
    }
    return res;
}

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:8:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
    8 |     for (int i = 0; i < m; ++i)
      |     ^~~
train.cpp:14:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   14 |  std::vector<int> res(n);
      |  ^~~
#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...