Submission #405745

#TimeUsernameProblemLanguageResultExecution timeMemory
405745peuchToy Train (IOI17_train)C++17
0 / 100
10 ms1352 KiB
#include "train.h" #include<bits/stdc++.h> using namespace std; const int MAXN = 5e3 + 10; int n; vector<int> ar[MAXN]; vector<int> sub1(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v){ vector<int> w(n, 0); for(int i = n - 1; i >= 0; i--){ if(ar[i].size() == 2){ if(a[i]){ if(r[i]) w[i] = w[i + 1]; else w[i] = 1; } else{ if(r[i]) w[i] = 0; else w[i] = w[i + 1]; } } else if(ar[i][0] == i) w[i] = !r[i]; else w[i] = w[i + 1]; } return w; } vector<int> sub2(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v); vector<int> sub3(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v); vector<int> sub4(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v); vector<int> sub5(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v); std::vector<int> who_wins(std::vector<int> a, std::vector<int> r, std::vector<int> u, std::vector<int> v) { n = a.size(); for(int i = 0; i < u.size(); i++) ar[u[i]].push_back(v[i]); return sub1(a, r, u, v); if(n <= 15) return sub2(a, r, u, v); bool flag = true; for(int i = 0; i < n; i++) flag &= a[i]; if(flag) return sub3(a, r, u, v); flag = true; for(int i = 0; i < n; i++) flag &= !a[i]; if(flag) return sub4(a, r, u, v); int cnt = 0; for(int i = 0; i < n; i++) cnt += r[i]; if(cnt == 1) return sub5(a, r, u, v); return sub1(a, r, u, v); }

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:40:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |  for(int i = 0; i < u.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...